web-dev-qa-db-ja.com

Jenkins Blue Oceanに「Print Message」の代わりに印刷出力を表示させるにはどうすればよいですか?

以下のスクリーンショットでは、一部のデバッグエントリに出力テキストが表示され(末尾に- Print Messageが付いています)、他のデバッグエントリは単にPrint Messageを表示しています。これらを表示するには、ステップを展開して出力を表示する必要があります。

Jenkins Blue Ocean Output

すべての行はprint "TEXT HERE"という形式を使用しています。 printprintlnechoを使用してみました。すべて同じ出力です。

なぜこれらは時々メッセージを表示しますが、他の人はそれを折りたたまれたセクションに強制しますか?これを常に表示するように構成することはできますか? Blue Ocean以外の通常のJenkinsインターフェースは正常に表示されますが、冗長性がたくさんあります。

14
Caesar Kabalan

これは既知の問題のようです: https://issues.jenkins-ci.org/browse/JENKINS-53649

BlueOceanがGroovy GStringsを正しく処理していないようです。これは私が観察したものです:

シンプルな:

echo "hello world"

期待どおりに動作し、正しく表示されます。一方、次のような変数を含むテンプレート化された文字列

echo "hello ${some_variable}"

[メッセージを印刷]ドロップダウンでメッセージを非表示にします。

この答え も参照してください。

3
Hüda

Echoがparamsまたは環境からの値を持つ変数(つまり、「params。*」)を使用する場合、ステップラベルは、エコーされる実際の値の代わりに「メッセージの印刷」名を取得するようです。変数自体が文字列であるかどうかは関係ありません。 params値をStringに明示的に変換しても、役に立ちません。

String param_str
String text_var_2

parameters {
    string(name: 'str_param', defaultValue: 'no value')
}

                param_str = params.str_param.toString()

                echo "string text in double quotes is ${param_str}"
                echo "simple quoted string is here"
                echo 'simple quoted string is here' 
                echo 'Single quoted with str ' + param_str + ' is here'
                echo param_str                    
                text_var_2 = 'Single quoted str ' + param_str + ' combined' 
                echo "GString global text2 is ${text_var_2}" 
                echo 'String global text2 is' +  text_var_2

BlueOceanは、ステップラベルに単純な引用符付きの文字列を表示しますが、その他はすべて「メッセージの印刷」として表示します。

BlueOcean出力

「通常の」変数(文字列、整数)はこの例には含まれていませんが、通常はラベルにも表示されています。したがって、このようなコードがある場合

def text_str = 'Some string'
def int_var = 1+2
echo text_str + ' is here'
echo int_var

これらはラベルに表示されます。

そして確かに、以前の回答で述べたように、それはジェンキンスの既知の問題のようです。

2
Roman Komarov

これは既知の BlueOceanバグ です。 「クラシック」ビューのコンソール出力は、変数を正しく補間します。

1つの回避策は shステップlabelパラメータを使用することです:

def message = 'Hello World'
sh(script: "echo $message", label: message)
1
tlvince

多くのことを試しましたが、環境変数が表示される瞬間にテキストの代わりにメッセージの印刷を使用しているようです。

0
Nauzet