Jenkins声明式:触发另一个管道并将阶段结果传递到当前管道

时间:2020-05-22 12:03:27

标签: jenkins jenkins-pipeline jenkins-declarative-pipeline

在詹金斯,我有两个声明性管道。我想在流水线A内运行的阶段的参数内触发流水线B,并检查流水线B的构建/阶段结果,以确定流水线A应该继续还是中止。 如果管道B的构建/阶段结果成功,则管道A应该继续进行阶段C,除非应该中止。

       stage('A'){
            steps{
                script{
                     //Do something
        }  


        stage ('B'){
            steps {
                script {
                        // Trigger another pipeline and check result of this
                        build job: 'pipelineB', parameters: [
                        string(name: 'param1', value: "value1")
                      ]
                }
            }
        }


        stage('C'){
            steps{
                script{
                   //Do something
        }

1 个答案:

答案 0 :(得分:1)

获取下游作业构建结果并分配给上游作业构建结果。

script {
  // Trigger another pipeline and check result of this
  ret = build(job: 'pipelineB', 
                  parameters: [
                      string(name: 'param1', value: "value1")
                  ],
                  propagate: true,
                  wait: true)

  echo ret.result
  currentBuild.result = ret.result
}

详细阅读ExpectedConditions.ElementIsVisible returns TimeoutException even when element is present