Comment écrire correctement un si la déclaration en ce qui concerne une BooleanParameter dans Jenkins pipeline Jenkinsfile?
Je suis un Jenkins pipeline Jenkinsfile et j'aimerais vérifier si une booleanparameter est réglé.
Voici la partie pertinente du fichier:
node ("master") {
stage 'Setup' (
[[$class: 'BooleanParameterValue', name: 'BUILD_SNAPSHOT', value: 'Boolean.valueOf(BUILD_SNAPSHOT)']],
Que je comprends, c'est la voie d'accès au booleanparameter mais je ne suis pas sûr de savoir comment l'état de l'instruction SI elle-même.
Je pensais faire quelque chose comme:
if(BooleanParameterValue['BUILD_SNAPSHOT']){...
Quelle est la façon correcte d'écrire cette instruction s'il vous plaît?
OriginalL'auteur Itai Ganot | 2016-08-08
Vous devez vous connecter pour publier un commentaire.
La réponse est en fait plus simple que ça !
Selon le pipeline documention, si vous définissez un paramètre booléen
isFoo
vous pouvez y accéder dans votre Groovy avec juste son nom, de sorte que votre script serait effectivement ressembler :Et par la manière, vous probablement ne doivent pas appeler votre paramètre
BUILD_SNAPSHOT
mais peut-êtrebuildSnapshot
ouisBuildSnapshot
parce que c'est un paramètre et non pas une constante.isFoo
est vrai, mais pas lorsqu'il est défini sur false. De mon côté,echo "${isFoo}"
imprime "faux", mais je vois encore "Param isFoo est vrai". J'ai utilisé le générateur pour générer des paramètres booléens propriétés.ok s'est avéré que ce n'est pas bien documentée. J'ai réussi à le faire fonctionner, j'ai posté une réponse à une question similaire ici: stackoverflow.com/a/41276956/1092815
OriginalL'auteur Pom12
simplement faire
if(isFoo){...}
qui ne garantit pas 🙂 Pour être sûr, utiliserif(isFoo.toString()=='true'){ ... }
OriginalL'auteur Beckster