触发参数化构建在其他项目上不传递参数

时间:2018-01-29 18:06:07

标签: jenkins jenkins-plugins

在Jenkins管道中,上游作业中定义的参数不会传递给下游作业甚至是当前构建参数"选项已被选中。当我尝试回显参数值时,它为空。

示例:我已检查过"这是参数化版本"。上游作业中有一个字符串参数,称为"版本"默认值为" abc"。当我在下游作业上运行 echo $ version 时,在控制台输出中我看不到正在打印的值。

环境信息:

  • Jenkins版本:2.89.3
  • O / S:CentOs 7

Jenkins安装了插件信息:

  • 使用参数构建:1.4
  • 参数化触发插件:2.35.2

2 个答案:

答案 0 :(得分:2)

在下游作业中,您需要设置一个变量来接受传递的参数。

示例:如果foo参数是从上游作业传递的。下游应该有一个参数(字符串或您选择的一个)与foo相同的名称,默认值为$ foo。

答案 1 :(得分:0)

最后,我发现此参数在jenkins 1.x和2.x版本中的工作方式不同。在较新版本的jenkins中,必须使用定义的参数和空值对所有下游项目进行参数化。但是,在Jenkins 1.x中,可以将参数从上游传递到下游,而无需在上游项目中定义参数。仅使用“当前构建参数”就可以完成工作,但现在不行了。不知道如果我是唯一发现它离奇的人。