我有一个上游管道作业,可触发一个下游管道作业,该上游作业将一些参数发送给下游作业。我应该如何在下游作业中读取这些参数?这两个作业都是非参数化的。
上游作业会像这样发送参数。
build job: 'downstream-job',
parameters: [[$class: 'StringParameterValue', name: 'Environment', value: "dev"]]
This回答说直接使用变量,但这似乎不起作用。当我尝试在下游作业中使用变量Environment
时,出现错误提示。
groovy.lang.MissingPropertyException: No such property: Environment for class: groovy.lang.Binding
答案 0 :(得分:0)
根据文档here,它必须为params.Environment
。
答案 1 :(得分:0)
我认为问题在于下游作业,因为它是非参数化的。而且,如果下游作业没有参数化,它只会忽略您的参数。 在this页上:
参数化触发器插件参数(例如,使用属性时 文件作为源)只有在下游定义时才通过 工作。这是SECURITY-170的预期行为,请参阅Jenkins 安全公告2016-05-11
也来自Parameterized Trigger Plugin的描述:
*您必须通过“此项目已参数化”在下游作业中定义参数。例如,如果job1将ABC = 123传递给job2,则在job2中将作业标记为“此项目已参数化”,并将“添加参数”标记为“ ABC”。 *