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

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

相关推荐
DADIAN_GONG1 小时前
incomplete command on Huawei switch
linux·运维·华为
水星灭绝1 小时前
orangepi zero烧录及SSH联网
运维·ssh
緣起緣落2 小时前
Linux(CentOS 7) 部署 redis 集群
linux·运维·服务器·redis·centos·集成学习
无名之逆2 小时前
[特殊字符] Hyperlane 框架:高性能、灵活、易用的 Rust 微服务解决方案
运维·服务器·开发语言·数据库·后端·微服务·rust
运维开发小白3 小时前
使用夜莺 + Elasticsearch进行日志收集和处理
运维·c#·linq
404BrainNotFound3 小时前
Dokploy部署Net服务,打造CI/CD开发环境
运维·全栈
tjsoft4 小时前
Nginx配置伪静态,URL重写
android·运维·nginx
zyx没烦恼4 小时前
Linux 进程信号
linux·运维·服务器·开发语言·c++
Arbori_262155 小时前
linux paste 命令
linux·运维·服务器
码上飞扬5 小时前
Nginx功能及应用全解:从负载均衡到反向代理的全面剖析
运维·nginx·负载均衡