我有一个名为 buildall 的管道作业,如下所示:
pipeline { stages { stage("job1") { build job: "job1" } } }
该 buildall 作业有25个参数。我想将所有 buildall 的参数传递给 job1 。有没有一种简单的方法可以代替手动指定每个参数呢?
在此问题中:向下游作业传递管道参数是一个子问题,但从未得到回答: 甚至更好的是,有没有一种麻烦的方法可以将所有管道参数传递给下游作业。
我有同样的问题。
以下似乎有效(尽管我尚未对其进行广泛测试):
pipeline { agent any parameters { string(name: 'PARAM1', description: 'Param 1?') string(name: 'PARAM2', description: 'Param 2?') } stages { stage('Example') { steps { echo "${params}" script { def myparams = currentBuild.rawBuild.getAction(ParametersAction).getParameters() build job: 'downstream-pipeline-with-params', parameters: myparams } } } } }
缺点:要访问rawBuild和getAction,必须在“管理Jenkins”>“进程内脚本批准”下禁用Groove沙箱或在Jenkins中批准这些签名。该对话框将向您显示您可能引入了安全漏洞。因此,是否要承担此风险取决于您的环境。