gpt4 book ai didi

jenkins - 如何传递选择参数以调用 Jenkins 管道内的作业

转载 作者:行者123 更新时间:2023-12-02 17:01:59 24 4
gpt4 key购买 nike

当在 jenkins 管道的 stage 中调用时,如何为下游作业传递 choice parameters

我尝试了以下解决方案,但均无效:

stage('build job') {
steps{
script{
build job: 'test',
parameters: [
choice(choices: "option1\noption2\noption3\n", description: '', name: 'choiceParam')
]
}
}
}

失败并出现 java.lang.UnsupportedOperationException:类 hudson.model.ParameterValue 的已知实现没有使用符号“选择”

也尝试了这些:

 parameters:
[
[$class: 'ChoiceParameterValue', name: 'choiceParam', value: "1\n\2\n3\n"],
]

java.lang.UnsupportedOperationException 失败:没有已知的类 hudson.model.ParameterValue 的实现被命名为 ChoiceParameterValue

我实际上想将选择参数作为 构建参数 传递,例如 value 的“$choiceParam”,这样我就可以只更新 jenkins 作业配置,而不是总是更新管道脚本中的值

谁能帮我解决这个问题

谢谢

最佳答案

当您通过构建步骤构建作业时,您是在启动它,因此您需要“选择”一个值。

在这种情况下,您将传递所需的“字符串”选项。不是选择列表。即“1”

我们创建了我们的参数列表,然后将其传入。因此:我们当前的作业具有这些输入参数:

choice(name: 'ENV', choices: product, description: 'Env'),
choice(name: 'ENV_NO', choices: envParams(product), description: 'Env No'),

我们通过设置它们将它们传递到下游:

List<ParameterValue> newParams = [
new StringParameterValue('ENV', params.ENV),
new StringParameterValue('ENV_NO', params.ENV_NO),
]
build(job: "job", parameters: newParams, propagate: false)

关于jenkins - 如何传递选择参数以调用 Jenkins 管道内的作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53732217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com