web-dev-qa-db-ja.com

Jenkinsでのパラメータのグループのグループ化と装飾

私はかなりの数のパラメーターを使用してJenkinsパイプラインジョブを作成しており、それらを視覚的にグループ化して簡単にグループ化する方法を探しています理解する-それらすべてをそこに投げ込むのではなく。少なくとも、これらのパラメーターが相互に関連しているという事実をほのめかすものなら何でも解決します。ヘッダーの場合もあれば、ボックスの場合もあります。この方法で入力を装飾するのに役立つプラグインはありますか?

enter image description here

9
Mig82

それで、ウェブを何度も検索した後、私はついにそのトリックを行うプラグインを見つけました。 パラメータセパレータプラグイン 。ウィキページにはパイプラインで機能させる方法が記載されていませんが、試行錯誤の末、これが私がそれを機能させる方法です。これが他の人にも役立つことを願っています。

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

これが結果です: enter image description here

編集:

Jenkins 2.61、Pipeline Plugin 2.5、Parameter Separator Plugin1.0でこれをテストしました

24
Mig82

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: []

1
MSillence