Groovy instruction Switch avec une liste de valeurs
Je veux utiliser l'instruction Switch dans Jenkins pipeline de travail.
def version = "1.2"
switch(GIT_BRANCH) {
case "develop":
result = "dev"
break
case ["master", "support/${version}"]:
result = "list"
break
case "support/${version}":
result = "sup"
break
default:
result = "def"
break
}
echo "${result}"
Quand GIT_BRANCH
est égale à:
develop
- valeur retournée estdev
- OKmaster
- valeur retournée estlist
- OKsupport/1.2
- valeur retournée estsup
- pourquoi ne paslist
?
Si votre question est "qu'est-ce que le comportement de Groovy
Je voudrais utiliser que plusieurs cas de match avec une combinaison de valeurs de chaîne et de variables. Dans mon code, la variable ne fonctionne que dans un seul cas de match, ce qui n'est pas la bonne solution pour moi.
switch
si plusieurs case
le match?"?Je voudrais utiliser que plusieurs cas de match avec une combinaison de valeurs de chaîne et de variables. Dans mon code, la variable ne fonctionne que dans un seul cas de match, ce qui n'est pas la bonne solution pour moi.
OriginalL'auteur Maciej Szymonowicz | 2016-08-10
Vous devez vous connecter pour publier un commentaire.
Ma conjecture est que le type de
GIT_BRANCH
est unString
alors que"support/${version}"
est unGString
. Si vous convertissez le dernier à unString
cela devrait fonctionner:La différence entre les deux types de chaînes n'a pas d'importance lorsque l'on compare les uns aux autres, mais peut importe pour d'autres types de comparaison, par exemple, dans votre code, vous êtes implicitement la comparaison d'une
GString
avec les éléments d'unList
.OriginalL'auteur Dónal