【问题标题】:How to set param values in a Jenkins Pipeline job如何在 Jenkins Pipeline 作业中设置参数值
【发布时间】:2020-04-07 11:34:05
【问题描述】:

我有一些由 Jenkins UI 创建的现有作业,我正在尝试将它们作为管道脚本的一部分运行。

我面临的问题是,在大多数作业中,我都有“Active Choices Reactive Parameter”参数,这些参数由脚本程序脚本填充,并且需要一个值选择来构建作业。

我的目标是自动构建作业并通过代码设置测试值,但到目前为止我尝试的一切都失败了。 例如:

 stage('Test') {
 build job: 'Test-regression', parameters: [
 [$class: 'WHideParameterValue', name: 'envListDb', value: 'TestEnvironmentListByOperator'],
 string(name: 'Operator', value: 'TestOp'),
 validatingString(name: 'OperatorValidation', value: 'TestOp'),  
 string(name: 'Environment', value: 'Test'),
 validatingString(name: 'EnvironmentValidation', value: 'Test')
 ]
}

运行此程序时,我得到“参数'Operator'没有测试回归所期望的类型。转换为主动选择反应参数”如前所述,我猜问题是构建本身没有实际选择的值.

我可能做错了,但如果有人有一个想法可以让我不必为管道测试创建新布局,我将不胜感激。 谢谢

【问题讨论】:

    标签: jenkins groovy jenkins-pipeline jenkins-plugins


    【解决方案1】:

    据我了解,Test-regression 是一个独立管道,具有输入参数 OperatorEnvironment。您想在共享代码的另一个管道中调用 Test-regression 管道。

    我有类似的要求,以下代码对我有用。我已经修改了代码以满足您的要求:

    env.TestOp="your_val_1";
    env.Test="your_val_2";
    
    stage ('Test') {
                steps {
                    build job: 'Test-regression', parameters: [
                    string(name: 'Operator', value: "${TestOp}"),
                    string(name: 'Environment', value: "${Test}")
                    ]
                }
            }
    

    【讨论】:

    • 您好,感谢您的回答,但似乎我得到了相同的结果:参数“运算符”没有测试回归所期望的类型。转换为主动选择反应参数.我想我可能不得不复制这份工作并将相关字段更改为字符串
    • 我已经接受了你的回答,因为问题似乎是我的验证字符串变量定义为验证字符串而不是字符串。我仍然有转换消息,但它正在工作,所以我会顺其自然。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    • 1970-01-01
    • 2022-11-24
    • 1970-01-01
    • 2021-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多