jenkins 实现二级联动选择参数
需求
有2个参数,一个AppName,一个GitRepository。当选择appName时,动态显示正确的git仓库地址。
注意需要安装插件 Active Choices
添加第一个参数AppName
参数类型选择,Active Choices Reactive Parameter,注意,这个第一个参数类型,是不一样的。
填写Groovy Script,完整内容为:
list=["aa","bb","cc"] return list
描述填写:应用名称
启用筛选功能
添加第二个参数GitRepository
参数类型选择,Active Choices Reactive Parameter,注意,这个第一个参数类型,是不一样的。
填写Groovy Script,完整内容为:
// 定义字典变量 def myDict = [ "aa":"https://xx.gitlab.com/aa.git", "bb":"https://xx.gitlab.com/bb.git", "cc":"https://xx.gitlab.com/cc.git" ] // 遍历字典 for (entry in myDict) { //echo "键: ${entry.key}, 值: ${entry.value}" if (AppName.equals(entry.key)){ return [entry.value] } }
勾选Use Groovy Sandbox
Fallback Script,返回脚本输入:
return["Could not get Environment from GitBranch Param"]
勾选Use Groovy Sandbox
描述信息填写:git地址
Referenced parameters,填写:AppName
这里是重点,参考的参数,这里写的是上边的选项参数的名字:AppName,也就是说,当这个参数发生变化是,就会触发执行上边的Groovy Script一次,可以根据脚本判断返回指定联动下拉框的值
保存
测试
点击Build with Parameters,效果如下:
选择一个项目,地址会自动变化