在Jenkins中对参数组进行分组和装饰

Mig*_*g82 7 jenkins jenkins-plugins jenkins-pipeline

我正在写与不少参数詹金斯管道的工作,我正在寻找一种方式来可视化它们组合在一起,使他们更容易理解-rather不是让他们都只是扔在那里.我会满足于任何至少暗示这些参数彼此相关的事实.可以是标题,可以是方框.是否有任何插件可以帮助我这种方式装饰我的输入?

在此输入图像描述

Mig*_*g82 22

因此,经过大量搜索网络后,我终于找到了一个可以解决问题的插件.该参数分离器插件.维基页面没有说明如何使它在管道中工作,但经过一些试验和错误后,这就是我如何使它工作.我希望这对其他人有用.

String sectionHeaderStyle = '''
    color: white;
    background: green;
    font-family: Roboto, sans-serif !important;
    padding: 5px;
    text-align: center;
'''

String separatorStyle = '''
    border: 0;
    border-bottom: 1px dashed #ccc;
    background: #999;
'''

properties([
    parameters([
        [
            $class: 'ParameterSeparatorDefinition',
            name: 'FOO_HEADER',
            sectionHeader: 'Foo Parameters',
            separatorStyle: separatorStyle,
            sectionHeaderStyle: sectionHeaderStyle
        ],
        string(
            name: 'FOO 1'
        ),
        string(
            name: 'FOO 2'
        ),
        string(
            name: 'FOO 3'
        ),
        [
            $class: 'ParameterSeparatorDefinition',
            name: 'BAR_HEADER',
            sectionHeader: 'Bar Parameters',
            separatorStyle: separatorStyle,
            sectionHeaderStyle: sectionHeaderStyle
        ],
        string(
            name: 'BAR 1'
        ),
        string(
            name: 'BAR 2'
        ),
        string(
            name: 'BAR 3'
        )
    ])
])
Run Code Online (Sandbox Code Playgroud)

这是结果: 在此输入图像描述


MSi*_*nce 5

对于 dsl,您可以指定:

String sectionHeaderStyleCss = ' color: white; background: green; font-family: Roboto, sans-serif !important; padding: 5px; text-align: center; '

String separatorStyleCss = ' border: 0; border-bottom: 1px dashed #ccc; background: #999; '

pipelineJob("Foo-job") {
    description("FOO with separators")

    parameters {
        parameterSeparatorDefinition {
            name('FOO_1')
            separatorStyle(separatorStyleCss)
            sectionHeader('FOO_1')
            sectionHeaderStyle(sectionHeaderStyleCss)
        }
Run Code Online (Sandbox Code Playgroud)

不要犯sectionHeaderStyle在 dsl 中按照示例使用名称的愚蠢错误,因为这会与构造函数冲突!

当您看到错误时,您显然会发现: No signature of method: java.lang.String.call() is applicable for argument types: (java.lang.String) values: []