Jenkins paramètre booléen est toujours vrai en groovy

J'ai un Jenkins travail qui appelle un script groovy et le groovy script utilise Jenkins paramètres pour faire ce travail. Je peux récupérer tous les paramètres sans problème, sauf pour un paramètre booléen. Le paramètre booléen est une case à cocher dans Jenkins

Jenkins paramètre booléen est toujours vrai en groovy

J'ai lu le jenkins paramètre en Groovy comme suit:

boolean libraryBranch = config.get('library_branch_feature');

Maintenant lorsque j'imprime le " libraryBranch variable

out.println "-- Library branch feature?: " + libraryBranch.toString();

- Je obtenir les imprimés suivants ligne:

-- Succursale de la bibliothèque ?: vrai

De sorte qu'il n'a pas d'importance si le booléen Jenkins paramètre est sélectionné ou pas, j'ai toujours une valeur booléenne "true" en Groovy. Tous les autres (string) paramètres à l'intérieur même de l'emploi sont lus sans problème.

Quelqu'un peut m'aider avec ce problème?

MODIFIER

Ok j'ai décidé de l'essayer et de récupérer le code dans une couple d'autres façons de faire et tyring de trouver une bonne solution:

Boolean libraryBranch = build.buildVariableResolver.resolve("library_branch_feature");
String libraryBranchString = build.buildVariableResolver.resolve("library_branch_feature").toString();
Boolean libraryBranchStringAsBoolean = build.buildVariableResolver.resolve("library_branch_feature") as Boolean;

Les variables ci-dessus sont alors imprimées:

out.println "-- Library branch feature?: " + libraryBranch;
out.println "-- Library branch feature to String: " + libraryBranch.toString();
out.println "-- Library branch feature to String: " + libraryBranch.toString();
out.println "-- Library branch feature as String: " + libraryBranchString;
out.println "-- Library branch feature String as Boolean: " + libraryBranchStringAsBoolean;

La sortie de la ci-dessus, les tirages sont affichées ci-dessous:

-- Library branch feature?: true
-- Library branch feature to String: true
-- Library branch feature to String: true
-- Library branch feature as String: false
-- Library branch feature String as Boolean: true

De sorte que le seul jusqu'à présent avoir la valeur booléenne de lire correctement comme un faux est de ne pas le transformer en un booléen à tous, mais il suffit de lire comme une chaîne de caractères et l'utiliser comme une chaîne de caractères.

Je préfère l'utiliser comme un booléen si donc toutes les suggestions sur la question est toujours apprécié.

OriginalL'auteur Wubinator | 2014-10-22