注:パイプライン プラグインはこの問題を無意味なものにするはずですが、インフラストラクチャを更新する機会がありませんでした。
パラメーターなしでダウンストリーム ジョブを開始するには:
job = manager.hudson.getItem(name)
cause = new hudson.model.Cause.UpstreamCause(manager.build)
causeAction = new hudson.model.CauseAction(cause)
manager.hudson.queue.schedule(job, 0, causeAction)
パラメータを使用してダウンストリーム ジョブを開始するにParametersAction
は、 . パラメータJob1
がA
ありC
、デフォルトでそれぞれ「B」と「D」になっているとします。すなわち:
A == "B"
C == "D"
Job2
同じ A および B パラメータがあるとしますが、デフォルトで "F" に設定されているパラメータもとりますE
。次のビルド後のスクリプトは、 と パラメータJob1
をコピーしA
、C
パラメータを との値のE
連結に設定します。A
C
params = []
val = ''
manager.build.properties.actions.each {
if (it instanceof hudson.model.ParametersAction) {
it.parameters.each {
value = it.createVariableResolver(manager.build).resolve(it.name)
params += it
val += value
}
}
}
params += new hudson.model.StringParameterValue('E', val)
paramsAction = new hudson.model.ParametersAction(params)
jobName = 'Job2'
job = manager.hudson.getItem(jobName)
cause = new hudson.model.Cause.UpstreamCause(manager.build)
causeAction = new hudson.model.CauseAction(cause)
def waitingItem = manager.hudson.queue.schedule(job, 0, causeAction, paramsAction)
def childFuture = waitingItem.getFuture()
def childBuild = childFuture.get()
hudson.plugins.parameterizedtrigger.BuildInfoExporterAction.addBuildInfoExporterAction(
manager.build, childProjectName, childBuild.number, childBuild.result
)
Groovy Postbuild$JENKINS_HOME/plugins/parameterized-trigger/WEB-INF/classes
プラグインのAdditional groovy classpath
.