Ici, je cherche fondamentalement un paramètre de dépendance.
Disons que j'ai deux listes déroulantes dans la section des paramètres de construction. En fonction de la valeur sélectionnée dans la première liste déroulante, la valeur par défaut possible est différente. Je souhaite que les valeurs de la deuxième liste déroulante varient.
Existe-t-il un plugin ou une approche pour gérer cette exigence efficacement?
C'est exactement ce que vous recherchez: https://github.com/biouno/uno-choice-plugin/wiki/Uno-Choice-Cascade-Dynamic-Choice-Parameter
Cela semble être un joyau caché, je ne l’ai trouvé dans aucune question similaire à ce jour.
Je ne l'ai pas utilisé, mais il semble que le plugin suivant puisse faire ce que vous voulez:
Un plugin de paramètre Jenkins qui permet de sélectionner deux éléments. La deuxième sélection renseigne les valeurs en fonction de la sélection effectuée pour la première sélection.
Un nouveau plugin avec cette fonctionnalité (et bien plus encore) est disponible ici: https://wiki.jenkins-ci.org/display/JENKINS/Active+Choices+Plugin
La page wiki contient plusieurs exemples d'utilisation et du code
Ceci est ce que vous voulez réaliser non?
Ensuite, vous pouvez hériter de hudson.model.ChoiceParameterDefinition
et redéfinir sa méthode getChoicesText
. renvoyez les options en fonction de ce que vous voulez, dans votre situation, vous pourriez obtenir les environnements de Hudson.getInstance()
.
Ci-dessous des extraits est montré comment obtenir la variable d'environnement.
Hudson.getInstance().getGlobalNodeProperties()
.get(EnvironmentVariablesNodeProperty.class).getEnvVars().get(name);
Ici est la question similaire.
Cela devrait suffire à vous permettre de sélectionner, de sélectionner plusieurs éléments et de le faire par niveaux https://wiki.jenkins-ci.org/display/JENKINS/Active+Choices+Plugin