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

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

相关推荐
志栋智能10 分钟前
运维超自动化的版本控制与回滚机制
运维·自动化
中云DDoS CC防护蔡蔡31 分钟前
DDOS和CC攻击谁更可怕
运维·服务器·经验分享·网络安全·ddos
Ruiery38 分钟前
Linux 6.6内核内存管理深度解析(十六):mmap — 用户态“申请内存“的真相
linux·运维·服务器
ClickHouseDB43 分钟前
ClickHouse Cloud 与 Snowflake 实时性价比对比:CostBench 测试中的 412 倍差距来
运维·数据库·系统架构
欧米欧1 小时前
Linux系统篇(七),环境变量的底层溯源,核心获取机制与安全应用
linux·运维·服务器
Ruiery1 小时前
Linux 6.6内核内存管理深度解析(十八):KASLR 内核地址空间随机化
linux·运维·服务器·安全
todoitbo2 小时前
群晖NAS部署JmalCloud:Docker安装、文件管理、博客与公网访问完整教程
运维·docker·容器
时间售卖铺2 小时前
触发器与函数实战:MySQL高效编程秘诀
运维·数据库·mysql·云原生
前端精髓2 小时前
调用大模型API
运维·服务器·microsoft
跨境小彭3 小时前
Temu 全托管模式下,SKU 利润核算的实践复盘
大数据·运维·人工智能·自动化·temu