从另一个管道调用参数化Jenkins管道

时间:2017-12-28 12:47:43

标签: jenkins jenkins-pipeline

有任何方法可以使用参数从另一个管道触发管道作业,我已经尝试了

build job: '/myjob', parameters: [string(name: 'param1', value:'val1')], wait: false

也尝试了

build job: 'myjob', parameters: [string(name: 'param1', value:'val1')], wait: false

build job: 'myjob', parameters: [[$class: 'StringParameterValue', name: 'param1', value: 'val1']], wait: false

没有运气,它说:

  

项目类型不支持参数

3 个答案:

答案 0 :(得分:6)

由于subjob是另一个multibranch管道项目,我需要指定我希望运行的分支

build job: 'myjob/master', parameters: [string(name: 'param1', value:'val1')], wait: false

它现在有效

答案 1 :(得分:0)

根据您的詹金斯(Jenkins)工作/管道结构,您应在工作前添加“ ../”前缀,例如:

build job: '../myjob/master', parameters: [string(name: 'param1', value:'val1')], wait: false

答案 2 :(得分:0)

下面为我工作的目的是将参数“ test_1”和“ test_2”从管道“ master”传递到管道“ sub-1”

在主管道中

build job: 'sub-1', parameters: [[$class: 'StringParameterValue', name: 'test_1', value: 'nameValue'], [$class: 'StringParameterValue', name: 'test_2', value: 'valueValue']], wait: true

在子管道“ sub-1”中,通过引用“ params”变量来使用

node {
   echo params.test_1
   echo params.test_2
}

参考:

https://support.cloudbees.com/hc/en-us/articles/221400287-How-to-pass-parameter-to-downstream-job-in-Pipeline-job-