とてもイライラして、この例が見つかりません。デフォルトの選択肢を設定するにはどうすればよいですか?
parameters {
choice(
defaultValue: 'bbb',
name: 'param1',
choices: 'aaa\nbbb\nccc',
description: 'lkdsjflksjlsjdf'
)
}
ここではdefaultValueは無効です。パイプラインが非手動で(コミットを介して)実行される場合、選択をオプションにし、デフォルト値を設定する必要があります。
オプションでデフォルト値を指定することはできません。 choice
入力のドキュメントによると、最初のオプションがデフォルトになります。
潜在的な選択肢、1行に1つ。最初の行の値がデフォルトになります。
これは documentation source で見ることができ、また source code でどのように呼び出されるかを見ることができます。
return new StringParameterValue(
getName(),
defaultValue == null ? choices.get(0) : defaultValue, getDescription()
);
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
}