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

如何在Groovy脚本中配置Jenkins参数:Prod环境下CR号必填

在Jenkins中实现Prod环境下CR号必填的Groovy配置

方法一:流水线(Jenkinsfile)实现

直接在流水线脚本里添加参数验证逻辑,无需额外插件:

pipeline {
    agent any
    // 定义参数
    parameters {
        choice(name: 'ENVIRONMENT', choices: ['Dev', 'Prod'], description: '选择部署环境')
        string(name: 'CR_NUMBER', description: '变更请求号(Prod环境必填)')
    }
    stages {
        // 第一步先做参数验证
        stage('参数合法性校验') {
            steps {
                script {
                    // 判断如果是Prod环境且CR号为空/空白,直接报错终止
                    if (params.ENVIRONMENT == 'Prod' && (!params.CR_NUMBER || params.CR_NUMBER.trim().isEmpty())) {
                        error '⚠️ 生产环境部署必须填写有效的CR号!'
                    }
                }
            }
        }
        // 后续部署阶段...
        stage('部署') {
            steps {
                echo "开始部署到${params.ENVIRONMENT}环境,CR号:${params.CR_NUMBER}"
                // 部署逻辑写在这里
            }
        }
    }
}

方法二:自由风格项目实现(需安装Active Choices插件)

如果是自由风格项目,需要先安装Active Choices Plugin,然后按以下步骤配置:

  • 进入项目配置页,添加「Active Choices Reactive Reference Parameter」,命名为CR_NUMBER
  • 在「Reference Parameters」里选择之前定义的环境参数(比如ENVIRONMENT)
  • 在「Script」区域填写控制必填性的逻辑,并输出参数:
// 根据环境判断是否必填
def isRequired = (ENVIRONMENT == 'Prod') ? true : false

// 返回参数配置
return [
    description: isRequired ? '变更请求号(必填)' : '变更请求号(选填)',
    defaultValue: '',
    required: isRequired
]
  • 保存配置后,当选择Prod环境时,CR号输入框会自动变成必填状态。

注意事项

  • 流水线方法更轻量化,不需要额外插件,适合用Jenkinsfile管理的项目
  • 自由风格项目依赖Active Choices插件,配置后界面会直接体现必填标记,更直观

内容的提问来源于stack exchange,提问作者Shrestha Saluja

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 23:48:14