我有两个参数化管道A和B。项目A执行项目B作为生成后操作。我使用“预定义参数”将参数传递给项目B,但似乎项目B使用默认值而不是提供的值。传递的参数是项目A参数。
omtl5h9j1#
Jenkins可能会对参数感到奇怪。如果您使用的是声明性管道,则在代码中定义参数,而不是使用Jenkins页面上的选项:
build([ job : 'B', wait : false, parameters: [ string(name: 'process_id', value: "${id}") ] ])
在管道B中:
parameters { string(defaultValue: null, description: 'parameter', name: 'process_id') }
如果使用自由式工作,您定义参数的方式是正确的。如果Jenkins使用的参数不正确,而是使用某个快取值,请尝试下列步骤:1.克隆下游作业1.将下游作业重命名为其他名称1.将克隆的下游作业重命名为应使用的正确名称1.运行一次下游作业如果问题是Jenkins缓存了所使用的参数,那么这应该可以解决问题。
1条答案
按热度按时间omtl5h9j1#
Jenkins可能会对参数感到奇怪。如果您使用的是声明性管道,则在代码中定义参数,而不是使用Jenkins页面上的选项:
在管道B中:
如果使用自由式工作,您定义参数的方式是正确的。如果Jenkins使用的参数不正确,而是使用某个快取值,请尝试下列步骤:
1.克隆下游作业
1.将下游作业重命名为其他名称
1.将克隆的下游作业重命名为应使用的正确名称
1.运行一次下游作业
如果问题是Jenkins缓存了所使用的参数,那么这应该可以解决问题。