私の Jenkins マルチブランチ パイプラインでは、Jenkinsfile で次のコードを使用したいと考えています。
def props = [
parameters([
string(
defaultValue: "Value1",
name: 'VALUE_NAME',
description: 'Something'),
string(
defaultValue: "Value2",
name: 'VALUE_NAME_v2',
description: 'Something else')
])]
properties(props)
if(condition1) {
// remove only VALUE_NAME
}
しかし、condition1 が true の場合にのみ、プロパティ VALUE_NAME を削除するにはどうすればよいでしょうか? 私はシンタックスだけを見つけました:
props.removeAll { it.toString().contains('VALUE_NAME')}
^^これは、私の変数がこの例のように共通のボディを持つ名前を持っていなくても、すべてのパラメータを削除します(「VALUE_NAME」)。
そして、このシンタックスでは、ビルドが 1 回実行されると、ジョブ UI に [Build with paramtres] ボタンが表示されず、[Build now] が表示されます。