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

时间:2017-06-29 09:08:37

标签: jenkins jenkins-plugins jenkins-pipeline

我正在编写一个Jenkins管道工作,其中包含很多参数,我正在寻找一种方法来直观地将它们组合在一起,这样它们就会更容易理解 - 而不是让他们都扔在那里。我会满足于任何至少暗示这些参数彼此相关的事实。可以是标题,可以是方框。是否有任何插件可以帮助我装饰我的输入?

enter image description here

2 个答案:

答案 0 :(得分:16)

所以,经过大量搜索网络后,我终于找到了一个可以解决问题的插件。 Parameter Separator Pluginenter image description here。维基页面没有说明如何使它在管道中工作,但经过一些试验和错误后,这就是我如何使它工作。我希望这对其他人有用。

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'
        )
    ])
])

这是结果: http://cloud.spring.io/spring-cloud-static/spring-cloud-config/1.3.1.RELEASE/#_locating_remote_configuration_resources

答案 1 :(得分:0)

对于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)
        }

请不要在您的dsl中使用示例名sectionHeaderStyle愚蠢的错误,因为这会与构造函数发生冲突!

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