如何在Jenkins管道脚本中重新分配参数?



我是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

相关内容

  • 没有找到相关文章

最新更新