jenkins 实现二级联动选择参数

需求

有2个参数,一个AppName,一个GitRepository。当选择appName时,动态显示正确的git仓库地址。

 

注意需要安装插件 Active Choices

 

添加第一个参数AppName

 参数类型选择,Active Choices Reactive Parameter,注意,这个第一个参数类型,是不一样的。

填写Groovy Script,完整内容为:

1
2
list=["aa","bb","cc"]
return list

 

描述填写:应用名称

启用筛选功能

 

添加第二个参数GitRepository

 参数类型选择,Active Choices Reactive Parameter,注意,这个第一个参数类型,是不一样的。

填写Groovy Script,完整内容为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 定义字典变量
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,效果如下:

 选择一个项目,地址会自动变化

 

posted @   肖祥  阅读(251)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示