如何在 Jenkins 管道脚本中重新分配参数?
How do I reassign parameters in a Jenkins pipeline script?
我是 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
我是 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