くりにっき

フルスタックキュアエンジニアです

Jenkins Workflow Pluginでパラメータ付で別のジョブを実行する方法

ググってもなかなか見つからなかったので自分用にメモ

ハマった

スニペットだと

build 'yourJobNameToBuild'

しか出ないのでジョブ名とパラメータを両方渡す方法が分からずにハマった。

f:id:sue445:20150118224056p:plain

やり方

こんな感じでやればいいらしい

build job: 'yourJobNameToBuild', parameters: [new hudson.model.StringParameterValue('PARAM1','123'), new hudson.model.StringParameterValue('PARAM2','345')]

参考URL

https://groups.google.com/forum/#!msg/jenkinsci-users/j8RJVhfTgJs/5b3-jmIXYDYJ

ただこれだと長すぎなのでこういうラッパメソッド作った。(hudson.modelもstatic import済っぽいので省略できた)

def strParam(name, value){
  new StringParameterValue(name, value)
}

def result = build job: 'yourJobNameToBuild', parameters: strParam('PARAM1','123'), strParam('PARAM2','345')]
echo result

CPSは普通のgroovyのスクリプトなのでメソッドを自由に定義できて便利。

build の戻り値は SUCCESS ,FAILURE のような文字列なので、if文書けばビルドの結果によって処理の分岐ができる。