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

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

相关推荐
断问天14 小时前
Faq:Fedora44 Kernel升级后WIFI和声卡都不能使用了
linux·运维·服务器
zjeweler14 小时前
云服务器部署 Claude Code 实战指南
运维·服务器·claude code
wechatbot88814 小时前
企业微信管理系统:企业私域流量自动化运营api接口开发实战指南
运维·微信·自动化·企业微信·ipad
程序员老邢14 小时前
【重启日记】第五周复盘:持续突破高位,把 “平台期” 变成 “上升期”
java·运维·经验分享·ai·devops
咚为14 小时前
负载均衡不只是轮询:Pingora 的 upstream 设计解析
运维·负载均衡
skywalk816314 小时前
配置 trusted publishing 什么意思?pypi发布可以配置Trusted Publishing
运维·pypi
万粉变现经纪人15 小时前
如何解决 pip install bitsandbytes 报错 仅支持 Linux+glibc(macOS/Windows 失败)问题
linux·运维·windows·python·scrapy·macos·pip
·云扬·15 小时前
从0到1理解分库分表:我踩过的坑与实战经验
运维·数据库·mysql
Pocker_Spades_A15 小时前
自动化工作流引擎部署与实战:让可视化编排真正落地
运维·自动化
计算机安禾15 小时前
【Linux从入门到精通】第25篇:循环结构——重复造轮子的终结者
linux·运维·chrome