我想从Jenkins管道中的循环中的输入步骤动态生成我的参数。
这是我的代码:
var = input message: 'Tags a saisir', ok: 'Build!',
parameters: [
choice(name: 'name1', choices: file1),
choice(name: 'name2', choices: file2),
choice(name: 'name3', choices: file3),
choice(name: 'name4', choices: file4)
]
我想知道是否可以从循环中生成每个参数,如:
for (int i = 0; i < myList.size(); i++) {
theChoice = "choice(name : "+myList.get(i)+'choices: file"+i+")
}
并从这些行生成输入步骤。
这种方法可行吗?
主要目标是使用模块化变量生成一个输入步骤,该变量取决于Git SCM中的jenkins文件克隆
此致
纪尧姆
答案 0 :(得分:0)
你可以这样做
def parameterNames = fileMap.keySet().toList()
def choices = []
for (int i = 0; i < parameterNames.size(); i++) {
choices += choice(name : parameterNames[i], choices: fileMap[parameterNames[i]])
}
def var = input message: 'Tags a saisir', ok: 'Build!', parameters: choices
其中fileMap
是Map
,其中包含每个参数名称前面的可能选项(键是参数名称,值是可能选择的String
)