如何在Jenkins声明式流水线代码中添加参数分隔符?
在Jenkins声明式流水线中通过代码实现参数分组分隔
当然可以!不用依赖只能GUI操作的Parameter Separator Plugin,咱们纯代码就能搞定参数分组分隔,而且还能自定义样式,下面给你两种实用方案:
方案1:用text参数模拟分隔线
Jenkins的text类型参数支持显示多行文本,我们可以用它来生成视觉上的分隔线,完全通过声明式代码配置:
你只需要在想要分隔的参数之间插入一个text参数,设置它的displayName为空(这样不会显示参数名),defaultValue设成分隔符样式(比如一串等号、星号),description留空即可。
修改你的流水线代码如下:
#!/bin/groovy pipeline { agent { label 'ansible24' } parameters { // init script params string(name: 'NAME', defaultValue: 'Nightly Valid', description: '') string(name: 'CODE', defaultValue: 'NIGHTLY', description: '') string(name: 'VERSION', defaultValue: '1.0.0', description: ' ') string(name: 'URL', defaultValue: "https://my.gitlab.net/config-daily.git", description: '') // 代码实现的参数分隔线 text(name: 'SEPARATOR_ADMIN_CONFIG', displayName: '', defaultValue: '==========================================', description: '') string(name: 'ADMIN_MAIL', defaultValue: 'mail@as.com', description: '') string(name: 'PUBLIC_DOMAIN', defaultValue: 'domain.com', description: '') string(name: 'PROVIDER', defaultValue: 'rhone', description: ' Define target virtualization provider. values : rhone, no-infra (read carefully use case)') choice(name: 'BASTION_STATE', choices: "present\nabsent", description: "Bastion state ") } stages { stage("Run Init script") { steps { script { def filename = "${WORKSPACE}/${params.CODE}/configuration.yml" def yaml = readYaml file: filename // General data yaml.global.name = "${params.NAME}".toString() yaml.global.code = "${params.CODE}".toString() yaml.global.admin_mail = "${params.ADMIN_MAIL}".toString() yaml.global.public_domain = "${params.PUBLIC_DOMAIN}".toString() yaml.global.provider = "${params.PROVIDER}".toString() yaml.global.bastion.state = "${params.BASTION_STATE}" sh "rm $filename" writeYaml file: filename, data: yaml } } } } }
方案2:带分组标题的分隔线
如果想要更清晰的分组,还可以在分隔线里加入分组标题,让参数结构一目了然:
text(name: 'SEPARATOR_ADMIN_CONFIG', displayName: '', defaultValue: '========== 管理员配置参数 ==========', description: '')
这样在参数页面会显示一条带标题的分隔线,比单纯的符号分隔更直观。
注意事项
- 每个分隔参数的
name要唯一,建议用SEPARATOR_分组名的格式命名,避免和业务参数冲突 - 可以根据喜好自定义
defaultValue的样式,比如用---、**********或者其他符号组合 - 这种方法不需要额外安装插件,兼容所有支持声明式流水线的Jenkins版本,非常灵活
内容的提问来源于stack exchange,提问作者Juliatzin
相关产品推荐
相关产品推荐

