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

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

相关推荐
China_Yanhy12 分钟前
入职 Web3 运维日记 · 第 8 日:黑暗森林 —— 对抗 MEV 机器人的“三明治攻击”
运维·机器人·web3
艾莉丝努力练剑18 分钟前
hixl vs NCCL:昇腾生态通信库的独特优势分析
运维·c++·人工智能·cann
酉鬼女又兒26 分钟前
每天一个Linux命令_printf
linux·运维·服务器
虾说羊31 分钟前
docker容器化部署项目流程
运维·docker·容器
Trouvaille ~32 分钟前
TCP Socket编程实战(三):线程池优化与TCP编程最佳实践
linux·运维·服务器·网络·c++·网络协议·tcp/ip
大大大反派35 分钟前
CANN 生态中的自动化部署引擎:深入 `mindx-sdk` 项目构建端到端 AI 应用
运维·人工智能·自动化
WHD3061 小时前
苏州勒索病毒加密 服务器数据解密恢复
运维·服务器
蜡笔小炘1 小时前
LVS -- 持久链接(Persistent Connection)实现会话粘滞
运维·服务器
HalvmånEver2 小时前
Linux:线程同步
linux·运维·服务器·线程·同步
岁杪杪2 小时前
关于运维:LINUX 零基础
运维·服务器·php