0

是否有我可以用于以下的插件/ 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。

选择测试后,我应该能够将此信息传递给从节点。

4

1 回答 1

1

您需要 Jenkins https://wiki.jenkins.io/display/JENKINS/Active+Choices+Plugin的“Active Choice Reactive Parameter”插件。您需要在配置中包含 3 个构建参数:

  1. “Active Choices 参数” - 我们将其命名为“CLIENT”。将其用作“单选”类型,并在相应字段中为它使用 groovy 脚本,如下所示:

    return ["Client1", "Client2", "Client3"]

  2. 还有一个构建参数“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
    } 
    

如果您不需要在硬件设备和测试之间建立依赖关系,只需

  1. 还有一个构建参数“Active Choices Reactive”作为前一个的一对 - 我们将其命名为“HW”。将其用作“单选”类型,并在相应字段中为它使用 groovy 脚本,如下所示:

    switch(CLIENT){
     case "Client1":
    return ["HW1", "HW2"]
     break
    case "Client2":
        return ["HW1"]
    break
     case "Client3":
        return ["HW2"]
     break
    } 
    

另一种选择是设置“Active Choices Reactive Reference Parameter”并配置 HW 和 TESTS 的使用。

于 2017-08-28T14:56:47.300 回答