非常令人沮丧我无法找到这样的例子。如何设置默认选项?
parameters {
choice(
defaultValue: 'bbb',
name: 'param1',
choices: 'aaa\nbbb\nccc',
description: 'lkdsjflksjlsjdf'
)
}
defaultValue在这里无效。我希望选择是可选的,如果管道是非手动运行的(通过提交),则需要设置默认值。
答案 0 :(得分:20)
您无法在选项中指定默认值。根据{{1}}输入的文档,第一个选项将是默认选项。
潜在的选择,每行一个。第一行的值将是默认值。
您可以在documentation source中看到这一点,以及source code中如何调用它。
choice
答案 1 :(得分:2)
正如mkobit所述,使用defaultValue
参数似乎无法实现,而是根据之前的选择重新排序了选择列表
defaultChoices = ["foo", "bar", "baz"]
choices = createChoicesWithPreviousChoice(defaultChoices, "${params.CHOICE}")
properties([
parameters([
choice(name: "CHOICE", choices: choices.join("\n"))
])
])
node {
stage('stuff') {
sh("echo ${params.CHOICE}")
}
}
List createChoicesWithPreviousChoice(List defaultChoices, String previousChoice) {
if (previousChoice == null) {
return defaultChoices
}
choices = defaultChoices.minus(previousChoice)
choices.add(0, previousChoice)
return choices
}