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,效果如下:

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

相关推荐
鸭梨山大。4 分钟前
Jenkins 任意文件读取(CVE-2024-23897)修复及复现
安全·中间件·jenkins
苹果醋37 分钟前
2020重新出发,MySql基础,MySql表数据操作
java·运维·spring boot·mysql·nginx
两张不够花9 分钟前
Jenkins 持续集成部署
运维·jenkins
Hacker_xingchen31 分钟前
天融信Linux系统安全问题
linux·运维·系统安全
丘狸尾33 分钟前
[cisco 模拟器] ftp服务器配置
android·运维·服务器
黑客老陈41 分钟前
新手小白如何挖掘cnvd通用漏洞之存储xss漏洞(利用xss钓鱼)
运维·服务器·前端·网络·安全·web3·xss
ghostwritten1 小时前
Linux Swap: 深入解析 mkswap, mkfs.swap, 和 swapon
linux·运维·服务器
我是唐青枫1 小时前
Linux xargs 命令使用教程
linux·运维·服务器
gallonyin1 小时前
【监控】夜莺监控系统各环节资源压力分析
运维·服务器
未知陨落1 小时前
Linux常用命令
linux·运维·服务器