我有两个groovy脚本(在Jenkins管道中执行),其中一个带有变量:
// Params file
PARAM1 = "1"
PARAM2 = "2"
PARAM3 = "3"
PARAM4 = "4"
return this
第二个加载此文件并使用参数:
def load_params() {
def parameters = load "params.groovy"
final_parameter = ""
for (parameter in parameters) {
if(final_parameter == "") {
final_parameter = parameter.key.toUpperCase() + "=" + parameter.value
} else {
final_parameter = final_parameter+ "&|&" + parameter.key.toUpperCase() + "=" + parameter.value
}
}
return final_parameter
}
return this
问题是对参数进行迭代不起作用。类型不是Map,所以我不能访问这样的变量。
我将使用parameters.PARAM1来处理它,但是第一个脚本是动态的,名称会更改,因此需要在不硬定义名称的情况下执行此操作。
是否有任何方法可以更改/迭代参数以获取“键”和“值”?
1条答案
按热度按时间plupiseo1#
这里有一些你可以做的事情。
选项01:使参数成为贴图
我想这是最好的解决办法。
选项02:将参数作为文件读取
您可以将Params作为File读取,然后逐行迭代并读取参数,而不是作为Script加载。
选项03:获取当前绑定中定义的所有变量。
这可能会返回当前绑定中的所有变量,因此您可能必须过滤掉在param文件中定义的变量。