Jenkins Pipelineでパラメータをジョブに引き継ぐ

※本アイキャッチ画像は、Creative Commons Attribution-ShareAlike 3.0 Unported License.のもとに利用を許諾されています。(https://jenkins.io/)

Jenkins Pipelineのスクリプト内で呼び出すジョブに、パラメータを引き継ぎたいケースがある。その場合、以下のようなコードを記述することでパラメータを引き継ぐことができる。

サンプルスクリプト

build job: 'ジョブ名', parameters: [
  〜〜〜
]

説明

build jobで実行ジョブ名を定義した後ろに、parameters:[]を定義する。これにより、実行ジョブに対してパラメータを渡すことが可能となる。

以下、実行ジョブに文字列を渡すスクリプトの例を挙げる。

build job: 'ジョブ名', parameters: [
  string(name: '%name%', value: %value%)
]

string()の引数はそれぞれ以下を表す。

パラメータ名 内容
%name%

対象ジョブで定義されたパラメータ名を指定。
定義されていないパラメータ名を指定しても、エラーが出力されない模様。

%value% 渡す値を指定

渡せるオブジェクトとして、文字列以外にもcredentialsやgitParameter等が渡すことができる。詳細は以下参照。

https://jenkins.io/doc/pipeline/steps/pipeline-build-step/

余談

文字列を渡す手段として、以下の記述でも渡せるらしい。試したところ、確かに渡すことができた。

build job: 'ジョブ名', parameters: [
  [$class: 'StringParameterValue', name: %対象ジョブのパラメータ名%, value: %渡す値%]
]

しかし公式のドキュメント(上記で紹介したリンク)には記載がなかった。
どこかに書いてあるのかな…。