自分の速さで

調べたこと、忘れそうなことをゆるゆると書いていく

【Jenkins】パイプラインからジョブを呼び出す際、パラメータを指定する

はじめに

Jenkinsの複数ジョブをまとめて実行する必要があったのでパイプラインを使用することにしたのですが、ジョブのパラメータを指定する方法を調べたのでメモ。

文字列パラメータを指定

調べてみたらstackoverflowに載っていたので早速やってみます。

stackoverflow.com

呼び出し先のジョブが文字列のパラメータを指定している場合、下記でOKです。

build job: '呼び出し先のジョブ名', parameters: [
    [$class: 'StringParameterValue', name: 'パラメータ名', value: 'パラメータ値']
]

文字列以外のパラメータを指定

例えば、このようなパラメータを設定しているジョブがあったとします。

f:id:cpp_0302:20171129121103p:plain

この場合、下記で呼び出し可能となります。

build job: 'pipeline-test-child', parameters: [
     [$class: 'TextParameterValue', name: 'PARAMETER_TEXT', value: 'test text']
    ,[$class: 'StringParameterValue', name: 'PARAMETER_STRING', value: 'test string']
    ,[$class: 'BooleanParameterValue', name: 'PARAMETER_BOOLEAN', value: true]
    ,[$class: 'StringParameterValue', name: 'PARAMETER_SELECT', value: 'test select']
]

最後に

JenkinsのJavaDocを見る限り、これらの他にパスワードやファイルなどを指定する別のパラメータもあるようですので、必要な方は参照してみてください。

ParameterValue (Jenkins core 2.76 API)