2

私は現在Build Flowプラグインを使用していますが、これは Jenkins 2.0 の Pipelines を支持して放棄されたようです。

新しいパイプラインを使用して既存のジョブを再構築する際に問題が発生しました。

現在、次のようなコードがあります。

ignore(FAILURE) {
  join = parallel([
    job1: {build('job1')},
    job2: {build('job2')},
    job3: {build('job3')}
  ])
}
results = [join.job1.result.toString(), join.job2.result.toString(), join.job2.result.toString()]

if(join.job1.result.toString() == 'SUCCESS') {
  buildList << join.job1.lastBuild.getDisplayName()
}

ここでの目標は、複数の既存のジョブを並行して実行し、完了したビルドに関する情報にアクセスすることです。これは Build Flow プラグインで問題なく動作しています。

新しいパイプラインを使用してこのデータにアクセスする方法を見つけることができませんでした。

echo 'Checking streams for latest builds'
join = [:] 

join['Job1'] = { build job: 'Job1', parameters: [[$class: 'StringParameterValue', name: 'TimeWindow', value: '1200']], propagate: false} 
join['Job2'] = { build job: 'Job2', parameters: [[$class: 'StringParameterValue', name: 'TimeWindow', value: '1200']], propagate: false} 
join['Job3'] = { build job: 'Job3', parameters: [[$class: 'StringParameterValue', name: 'TimeWindow', value: '1200']], propagate: false}

parallel join

join['Job1'] のダンプは、ビルド フロー プラグインのように、AbstractBuild などへのアクセスを提供しません。代わりに、次のように表示されます。

<org.jenkinsci.plugins.workflow.cps.CpsClosure2@2eac6ed9
def=com.cloudbees.groovy.cps.impl.CpsClosureDef@59647704
delegate=WorkflowScript@3aa1807f 
owner=WorkflowScript@3aa1807f
thisObject=WorkflowScript@3aa1807f 
resolveStrategy=0 
directive=0
parameterTypes=null 
maximumNumberOfParameters=0 
bcw=null>

新しいパイプラインを使用して、job1.result、job1.lastBuild、job1.lastBuild.getDisplayName() などのデータにアクセスする方法はありますか?

4

3 に答える 3