JenkinsActiveChoices插件使用

之前使用过Jenkins的Active Choices Plugin插件,概述下当时我想实现的效果

  • 针对自定义选项支持多选
  • 在Job中点击构建是默认全部选中
  • 采用DSL构建
    所以当时调研后就选择了这个插件,使用起来还不错。不过今天又遇到一个问题,记录一下

实现效果如下

1

Jenkins上Test_Choices1的配置如下

2

Test_choices2跟1的区别在于点击进去默认是全选的,关于选中状态,主要区别是:selected,具体可以参照上面插件的wiki链接。
wiki2就写一个Groovy的写法不截图了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
activeChoiceParam('Test_choices2') {
description('描述')
//filterable()
choiceType('MULTI_SELECT')
groovyScript {
script('''\
return [
'C1',
'C2',
'C3',
'C4',
'C5'
].collect { "$it:selected" }
'''.stripIndent())
//fallbackScript('"fallback choice"')
}
}

这样需求就解决了,最近发现的问题是如果使用cron触发任务,默认选择的就不生效了。目前是个ISSUE,具体信息可以追踪 JENKINS-42568
有好的解决方案再来这更新,不赘述了