You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins参数化任务如何实现依赖参数选中后自动禁用其他参数

Jenkins 参数依赖控制实现方案

你需要借助 Jenkins 的 Active Choices 插件(原Uno Choice插件)实现动态参数依赖,具体配置步骤如下:


前置准备

先在 Jenkins 插件管理中安装 Active Choices 插件,安装完成后重启 Jenkins 生效。


配置步骤

1. 配置最高优先级控制参数 deployment_options

将该参数配置为普通的Choice Parameter即可,选项包含所有你需要的部署选项,必须包含 Deploy to Develop,默认值按需设置。

2. 配置受控制的 build_target 参数

将该参数类型选择为 Active Choices Reactive Parameter,配置规则如下:

  • 触发依赖项选择前面创建的 deployment_options 参数
  • 脚本类型选择 Groovy 脚本,填写如下逻辑:
if (deployment_options == 'Deploy to Develop') {
    // 部署选项符合要求时返回可选的构建目标
    return ['Service', 'Package']
} else {
    // 不符合要求时返回固定的禁用提示
    return ['<禁用:仅部署到开发环境时可配置该参数>']
}
  • 取消勾选「Editable」选项,确保参数不符合条件时用户无法修改。

3. 配置二级受控参数 tests_set

将该参数类型选择为 Active Choices Reactive Parameter,配置规则如下:

  • 触发依赖项同时选择 deployment_options 和 build_target 两个参数
  • 脚本类型选择 Groovy 脚本,填写如下逻辑:
// 优先判断最高优先级的部署选项
if (deployment_options != 'Deploy to Develop') {
    return ['<禁用:仅部署到开发环境时可配置该参数>']
}
// 再判断构建目标类型
if (build_target == 'Package') {
    return ['<禁用:构建目标为Package时无需配置测试集>']
}
// 所有条件满足时返回正常的测试集选项,可替换为你实际的测试集列表
return ['单元测试', '集成测试', '全量测试']
  • 同样取消勾选「Editable」选项。

可选调整

如果你需要不符合条件的参数完全隐藏而不是显示禁用提示,可以将上述两个受控参数的类型替换为 Active Choices Reactive Reference Parameter,不符合条件时返回空值即可实现隐藏效果。

内容的提问来源于stack exchange,提问作者Barry White

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 18:48:01