Jenkins Artive Choices Plugin. 动态隐藏/显示参数

本文根据Jenkins-2.272版本进行测试, 不保证一直有效!!!

由于项目使用参数化构建, 而且参数比较多, 一屏幕都放不下了..... 所以寻求方法来只显示重要参数.

需求

模拟一个需求(如图1,图2):

  • 当value1选中时, value2可输入, value3不可输入
  • 当value1未选中时, value2可不输入, value3可输入


    图1

    图2

现在想要优化一下这个需求:

  • 当value1选中时, value2可输入, value3不可输入并且value3隐藏
  • 当value1未选中时, value3可输入, value2可不输入并且value3隐藏

解决方案

首先来看一下jenkins参数页的HTML是什么样子的

图3

Artive Choices 插件其实是把每一个参数整体包装成
...

那我们就在配置项里尝试获取一下这个div, 在VALUE2Groovy Script中写入一下代码, 给input定义一个id

return """
  
"""

先尝试添加 """

看到控制台并没有打印, 知道内部应该是吧脚本返回的字符串 赋值给了innerHTML,

尝试其他方法绕过innerHTML限制

return """
  
  
"""

改成上面代码之后重新加载参数页, 控制台成功看到了打印结果, 证明此方法可行.

最终修改代码:

VALUE2改为:

if (VALUE1) {
    return """
  
  
"""  
} else {
  return """
  
  
""" 
}

VALUE3改为:

if (VALUE1) {
    return """
  
  
"""  
} else {
  return """
  
  
""" 
}

最终运行结果如下图:

result.gif

更多复杂功能按照这个方式可以继续拓展

你可能感兴趣的:(Jenkins Artive Choices Plugin. 动态隐藏/显示参数)