Comment vérifier si construire paramètre est disponible dans Jenkinsfile
J'ai un pipeline script qui devrait fonctionner avec et sans paramètres. J'ai donc de vérifier si le paramètre est disponible.
J'ai essayé if(getBinding().hasVariable("myparameter"))
mais cela conduit à une Exception
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use method groovy.lang.Binding getVariables
Est-il une autre façon de vérifier si le travail est paramétrée?
- Dans Jenkins ver. 2.131, il est toujours de me donner de faux. si le paramètre existe ou pas.
Vous devez vous connecter pour publier un commentaire.
Des versions plus récentes faire l'paramètres disponibles par le biais de la
params
variable. Si le paramètre n'est pas défini, il revient à la configuration par défaut (voir aussi ici).Dans la dernière version de jenkins
println(getBinding().hasVariable("myparameter"))
est permise et ne donne pas une erreur de plus.C'est comment je l'ai fait:
Pourquoi le faire quand vous pouvez définir les paramètres de votre pipeline comme suggéré ci-dessus?
Bien, il ya des situations où vous voulez que votre pipeline fichier de travail, indépendamment de si le paramètre n'est défini ou non. I. e., si vous êtes à la re-à l'aide de votre pipeline de script à partir de différents Jenkins d'emploi et vous ne voulez pas faire personnes définir ce paramètre ...
Voir Mise en route du Pipeline, de Construire des Paramètres:
Mise à JOUR
☑Ce build est paramétrée → Ajouter un paramètre → Paramètre de Chaîne de:
STRING_PARAMETER
STRING_PARAMETER_VALUE
Pipeline → Définition:
Pipeline script
→ Script:Sortie De La Console: