Jenkinsfileでif文を使用してマルチブランチパイプラインプロジェクトを使用しようとしています。この質問のために、現在のディレクトリに 'scan.txt'というテキストファイルがあると仮定します。テキストファイルは、bashコマンドで生成されJenkinsfileでJenkins環境変数を使用する方法ステートメント
echo "False" > scan.txt
だから、唯一のコンテンツは
が、私はそうのようなscan.txtの内容に私のJenkinsfileに任意の環境変数を設定する「偽」の文字列は次のとおりです。script {
env.TEXT = readFile 'scan.txt'
}
私はスクリプトブロックの外
echo "${env.TEXT}"
を行う場合は、jenkそのステップでは、期待通りにFalseが表示されます。
しかし、 "False"に等しいかどうかを確認する私の試みはすべて失敗しました。スクリプトブロックの直後に次のように試しました。
if (env.TEXT.equals("False")) {
//do something
}
if (env.TEXT.matches("False")) {
//do something
}
if (env.TEXT == "False") {
//do something
}
これらのどれも動作しません。これらの条件はすべて真偽値です。読み込みファイルのパイプラインステップのドキュメントでは、ファイル内容の文字列を返します。 https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#code-readfile-code-read-file-from-workspace ここでは何が起こっているのか分かりません。誰にも洞察力はありますか?
おかげ
これはハックですが、実際の解決策はJon S. – Pom12