web-dev-qa-db-fra.com

Jenkins Paramètres dynamiques basés sur la valeur de paramètre précédemment sélectionnée

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?

12
Kishore Tamire

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.

10
Torben Knerr

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.

https://github.com/tekante/Dynamic-Jenkins-Parameter/wiki

5
Geoff Cummings

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

3

Restons simples, voici le processus étape par étape pour atteindre le niveau requis.
1.Installez Active Choices Plugin dans votre Jenkins.
2.Ajouter un PARAMETRE DE CHOIX ACTIF  enter image description here

  1. Ajoutez un PARAMÈTRE RÉACTIF À CHOIX ACTIF.  enter image description here

4.Cliquez sur Apply puis sur Save.
C'est fait. !!!
Faites des commentaires si vous rencontrez un problème avec ceci.

2
Hitsa

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.

1
MangeshBiradar

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

0
Gus