Как правильно написать инструкцию if в отношении BooleanParameter в Jenkins pipe Jenkinsfile?

Я устанавливаю Jenkins файл Jenkins, и я бы хотел проверить, установлен ли booleanparameter.

Здесь соответствующая часть файла:

node ("master") {
 stage 'Setup' (
 [[$class: 'BooleanParameterValue', name: 'BUILD_SNAPSHOT', value: 'Boolean.valueOf(BUILD_SNAPSHOT)']],

Как я понимаю, это способ получить доступ к логическому параметру, но я не уверен, как указать сам оператор IF.

Я думал о том, чтобы сделать что-то вроде:

if(BooleanParameterValue['BUILD_SNAPSHOT']){...

Каков правильный способ написания этого заявления?

1 ответ

Ответ на самом деле проще, чем это! В соответствии с документацией по конвейеру, если вы определяете логический параметр isFoo, вы можете получить к нему доступ в своем Groovy только с его именем, поэтому ваш script будет выглядеть так:

node {
 stage 'Setup'
 echo "${isFoo}" // Usage inside a string
 if(isFoo) { // Very simple "if" usage
 echo "Param isFoo is true"
 ...
 }
}

И, кстати, вы, вероятно, не должны называть свой параметр BUILD_SNAPSHOT, но, возможно, buildSnapshot или isBuildSnapshot, потому что это параметр, а не константа.

licensed under cc by-sa 3.0 with attribution.