詹金斯从触发工作中获得结果,并在其他阶段使用它

时间:2018-12-21 10:31:14

标签: jenkins groovy jenkins-pipeline

我有一个詹金斯管道巫婆触发了另一个管道。是否可以在第一个管道中保存此触发的作业管道的结果? 示例示例1:

stage('do something') {
  when { expression { params.true == true } }
    steps {
      script {
        env.var = build job: 'jenkinsjob2',
                          parameters: [

                          ]

      print(env.var)
      }
    }
}

jenkinsjob2管道:

stage('do something else') {
  when { expression { params.false == false } }
  steps{
    script {
      my_new_result = sh( returnStdout: true, script: 'python script.py')
      println my_new_result // echo 12345

我现在要使用第一个管道的env.var中第二个任务的结果12345。 这可能吗? 我得到的是env.var = org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper@6c4ddc63而不是12345

KR 马文

1 个答案:

答案 0 :(得分:2)

您可以检查此管道以了解操作方法。

 stage('do something') {

        steps
                {
                    script {
                        def job = build job: "jenkinsjob2",parameters: []
                        env.my_new_result = job.buildVariables.my_new_result

                    }sh "echo  ${env.my_new_result}" 
                }
    }