2017-01-12 109 views
12

Jenkinsパイプラインタイトルを取得するための環境変数はありますか?Jenkins Pipelineの環境変数

$JOB_NAMEフリースタイルジョブのタイトルを取得するのに、 を使用できますが、パイプライン名を取得するために使用できるものはありますか?

+0

パイプラインで使用できる変数を表示する場合は、この回答を参照できます。 https://stackoverflow.com/a/42138466/1238300 –

答えて

30

groovyから同じ名前を使用して同じ環境変数にアクセスできます(例:JOB_NAMEまたはenv.JOB_NAME)。ドキュメントから

環境変数がenv.VARNAMEとして、あるいは単にVARNAMEとしてのGroovyコードからアクセスできます。

env.MYTOOL_VERSION = '1.33' 
node { 
    sh '/usr/local/mytool-$MYTOOL_VERSION/bin/start' 
} 

これらの定義はまた、ビルド時またはその完了後にREST API経由で利用できるようになり、そして上流のパイプラインからのビルドを使用してビルド:あなたは(のみのenv接頭辞を使用して)だけでなく、このような性質に書き込むことができますステップ。ドキュメントの残りの部分については

、特に複数のノードを使用して、envを変更した後、副作用の問題を回避するために任意のパイプラインジョブ enter image description here

+0

ありがとう、 私は のenv.MyVariableを使用しました。私の使用環境ではパイプラインから環境変数を定義できるようになりました。 時間を節約してくれてありがとう。 – Akki

15

から「パイプライン構文」リンクをクリックして、設定した方がよいです一時的なコンテキスト。環境を変更する

一つの安全な方法は次のとおりです。

withEnv(['MYTOOL_HOME=/usr/local/mytool']) { 
    sh '$MYTOOL_HOME/bin/start' 
} 

このアプローチは、コマンド実行後のenvに毒されません。

関連する問題