我可以使用插件/ groovy脚本进行以下操作吗?
我有一个客户列表,我需要开始测试 我可以访问主站中每个客户端的测试列表/硬件列表(在平面文件中)
当我使用参数化构建选择客户端时,我需要更新与所选客户端相关的文件内容
我试着环顾四周但找不到解决问题的方法。非常感谢你的帮助。
此外,有没有办法可以将这个字符串的选项转换为数字键值映射?
实施例: 主服务器具有以下目录结构:
Client1
|_HW_list.log
HW_1
HW_2
|_TestLst.log
test1
test2
Client2
|_HW_list.log
HW_1
|_TestLst.log
testA
testB
当我尝试启动作业并从参数化插件中选择Client1时,我应该能够在设备下列出HW_1和HW_2,并在测试列表中列出test1,test2。
在我选择测试后,我应该能够将此信息传递给从节点。
答案 0 :(得分:1)
您需要Jenkins https://wiki.jenkins.io/display/JENKINS/Active+Choices+Plugin的“Active Choice Reactive Parameter”插件。您需要在配置中包含3个构建参数:
“Active Choices参数” - 让我们将其命名为“CLIENT”。使用它作为“单选”类型,在相应的字段中使用groovy脚本,如下所示:
return ["Client1", "Client2", "Client3"]
并将构建参数“Active Choices Reactive”与前一个参数配对 - 让我们将其命名为“TESTS”。使用它作为“单选”类型,在相应的字段中使用groovy脚本,如下所示:
switch(CLIENT){
case "Client1":
return ["Tests1", "Tests11", "Tests111"]
break
case "Client2":
return ["Tests2", "Tests22", "Tests222", "Tests2222"]
break
case "Client3":
return ["Tests3", "Tests33", "Tests333"]
break
}
如果您不需要在硬件设备和测试之间存在依赖关系,只需
并将构建参数“Active Choices Reactive”与前一个参数配对 - 让我们将其命名为“HW”。使用它作为“单选”类型,在相应的字段中使用groovy脚本,如下所示:
switch(CLIENT){
case "Client1":
return ["HW1", "HW2"]
break
case "Client2":
return ["HW1"]
break
case "Client3":
return ["HW2"]
break
}
另一种选择是设置“主动选择反应参考参数”并配置HW和TESTS的使用。