Mam zadanie Jenkinsa, które nazywa się groovy skryptem, a groovy skrypt używa parametrów Jenkinsa, aby wykonać to zadanie. Mogę pobrać wszystkie parametry bez problemu, z wyjątkiem parametru boolowskiego. Parametr logiczną pole wyboru w JenkinsParametr boolean Jenkinsa jest zawsze prawdziwy w groovy
czytam parametr Jenkins w Groovy następująco:
boolean libraryBranch = config.get('library_branch_feature');
Teraz kiedy wydrukować 'libraryBranch' zmienną
out.println "-- Library branch feature?: " + libraryBranch.toString();
Dostaję następującą wydrukowaną linię:
- biblioteka cecha oddział: prawda
Więc to nie ma znaczenia, czy wybrana jest wartość logiczna parametru Jenkins lub nie zawsze mają wartość logiczną „prawdziwy” w Groovy. Wszystkie pozostałe (ciągi) parametry wewnątrz tego samego zadania są odczytywane bez problemu.
Czy ktoś może mi pomóc w tym problemie?
EDIT
Ok Zdecydowałem się spróbować i pobrać kod w kilku innych sposobów i tyring znaleźć dobre rozwiązanie:
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;
Powyższe zmienne są następnie drukowane:
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;
wyjście z powyższych wydruków są umieszczane poniżej:
-- 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
Jedynym sposobem, aby wartość logiczna została poprawnie odczytana jako fałszywa, nie jest przekształcenie jej w wartość boolowską, ale jedynie odczytanie jej jako ciągu znaków i użycie jej jako ciągu znaków.
Wolałbym używać tego jako boolowskiej, więc wszelkie sugestie na ten temat są nadal doceniane.