Jenkins 如何获取BooleanParameterValue的值?

Jenkins 如何获取BooleanParameterValue的值?,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我试图获取一个布尔参数的值来构建作业。 例如: build job: 'test', parameters: [[$class: 'BooleanParameterValue', name: 'Param1', value: Param1]] Param1是一个布尔参数。 BooleanParameterValue类对参数:value只接受布尔值 public BooleanParameterValue(String name, boolea

我试图获取一个布尔参数的值来构建作业。 例如:

build job: 'test', parameters:  [[$class: 'BooleanParameterValue', name: 'Param1', value: Param1]]
Param1是一个布尔参数。 BooleanParameterValue类对参数:value只接受布尔值

public BooleanParameterValue(String name,
                         boolean value,
                         String description)
我尝试了.getValue()函数,但它不起作用。 我知道如果我直接输入true或false,它是有效的,但它必须是一个变量。
Thx.

它与toBoolean()函数一起工作

build job: 'test', parameters:  [[$class: 'BooleanParameterValue', name: 'Param1', value: Param1.toBoolean()]]

params
是保存作业生成参数的全局对象。它还保存了它们的类型(在大多数情况下是
String
Boolean

可以通过直接引用布尔参数的名称来“省略”
params
,正如您所做的那样。但这个变量实际上是字符串的类型。假设在作业配置中设置了“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]]

在您尝试过的案例中会出现什么错误?打印Param1时会显示什么内容(那到底是什么东西)?也许您可以显示初始化Param1的代码?错误:java.lang.IllegalArgumentException:无法实例化,并且Param1是Jenkins接口中的布尔参数。因此,当我按下带有参数的Build时,它被初始化。如果我打印Param1,它将打印true。