jenkins 带参数的生成后操作

mutmk8jj  于 2022-12-03  发布在  Jenkins
关注(0)|答案(1)|浏览(117)

我有两个参数化管道A和B。项目A执行项目B作为生成后操作。我使用“预定义参数”将参数传递给项目B,但似乎项目B使用默认值而不是提供的值。传递的参数是项目A参数。

omtl5h9j

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缓存了所使用的参数,那么这应该可以解决问题。

相关问题