在Jenkins管道中,上游作业中定义的参数不会传递给下游作业甚至是当前构建参数"选项已被选中。当我尝试回显参数值时,它为空。
示例:我已检查过"这是参数化版本"。上游作业中有一个字符串参数,称为"版本"默认值为" abc"。当我在下游作业上运行 echo $ version 时,在控制台输出中我看不到正在打印的值。
环境信息:
Jenkins安装了插件信息:
答案 0 :(得分:2)
在下游作业中,您需要设置一个变量来接受传递的参数。
示例:如果foo参数是从上游作业传递的。下游应该有一个参数(字符串或您选择的一个)与foo相同的名称,默认值为$ foo。
答案 1 :(得分:0)
最后,我发现此参数在jenkins 1.x和2.x版本中的工作方式不同。在较新版本的jenkins中,必须使用定义的参数和空值对所有下游项目进行参数化。但是,在Jenkins 1.x中,可以将参数从上游传递到下游,而无需在上游项目中定义参数。仅使用“当前构建参数”就可以完成工作,但现在不行了。不知道如果我是唯一发现它离奇的人。