我是Jenkins和groovy脚本的新手。我正在尝试重新分配Jenkins脚本中的参数。
我试了下面的
def reasignParams() {
if(params.B == '') {
params.B = params.A
}
}
pipeline{
parameters {
string(name: 'A', defaultValue: '1.1', description: "Master Value")
string(name: 'B', defaultValue: '', description: "Slave value")
}
}
在运行了上面的Jenkins管道脚本(groovy)之后,我遇到了以下错误
java.lang.UnsupportedOperationException
我想到的替代方案如下
def reasignParams() {
if(params.B == '') {
def temp = params.A
# use temp variable instead of params.B; But this is inconvenient
}
}
我想知道是否有一种方法可以在Jenkins管道脚本中重新分配参数?任何帮助将非常感激,提前感谢!
Jenkins Pipeline中的params
对象不支持对其成员变量进行write
操作。您只能在parameters
指令中初始分配它们(在此意义上将其视为构造函数)。如果你想重新分配参数值,那么你确实需要做一个深拷贝,如下所示:
newParams = [:]
newParams.A = params.A