Я пытаюсь получить значение одного из моих логических параметров для построения задания. Например :

build job: 'test', parameters:  [[$class: 'BooleanParameterValue', name: 'Param1', value: Param1]]

Param1 является логическим параметром. Класс BooleanParameterValue принимает только логическое значение для параметра: значение.

public BooleanParameterValue(String name,
                         boolean value,
                         String description)

Я пробовал функцию .getValue (), но она не сработала. Я знаю, что если я введу true или false непосредственно, это работает, но это должна быть переменная. Спасибо.

3
Emile 24 Апр 2017 в 16:59

2 ответа

Лучший ответ

params - это глобальный объект, который содержит параметры сборки задания. Также он сохраняет их типы (в большинстве случаев это String или Boolean).

Можно "опустить" params, ссылаясь прямо на логический параметр по его имени, как вы уже сделали. Но эта переменная на самом деле тип String. Предположим, что в конфигурациях заданий установлен логический параметр 'aBooleanParameter':

echo aBooleanParameter.getClass().toString()        // class java.lang.String
echo params.aBooleanParameter.getClass().toString() // class java.lang.Boolean

Таким образом, более ортодоксальный способ дать параметр вашей сборки будет

build job: 'test', parameters:  [[$class: 'BooleanParameterValue', name: 'Param1', value: params.Param1]]
4
Travenin 25 Апр 2017 в 11:14

Работает с функцией toBoolean ()!

build job: 'test', parameters:  [[$class: 'BooleanParameterValue', name: 'Param1', value: Param1.toBoolean()]]
0
Emile 24 Апр 2017 в 15:53