私はJenkinsを使用してWARをデプロイしています。最終的なパイプラインステージで実際にエンドポイントに到達してJSON応答を確認したいと思います。 との値が正しい場合は成功し、そうでない場合はビルドが失敗します。Jenkins Pipelineで特定のJSON応答のURLをチェックして成功/失敗するステージを作るにはどうすればいいですか?
どうすればよいですか?
私はJenkinsを使用してWARをデプロイしています。最終的なパイプラインステージで実際にエンドポイントに到達してJSON応答を確認したいと思います。 との値が正しい場合は成功し、そうでない場合はビルドが失敗します。Jenkins Pipelineで特定のJSON応答のURLをチェックして成功/失敗するステージを作るにはどうすればいいですか?
どうすればよいですか?
pipeline {
agent any
environment{
CHECK_URL = "https://stackoverflow.com"
CMD = "curl --write-out %{http_code} --silent --output /dev/null ${CHECK_URL}"
}
stages {
stage('Stage-One') {
steps {
script{
sh "${CMD} > commandResult"
env.status = readFile('commandResult').trim()
}
}
}
stage('Stage-Two') {
steps {
script {
sh "echo ${env.status}"
if (env.status == '200') {
currentBuild.result = "SUCCESS"
}
else {
currentBuild.result = "FAILURE"
}
}
}
}
}
}
必要に応じてCMDを変更してください。また、ポストセクションを使用してビルドステータスを設定することもできます。ありがとう!カール以下
ジェイソン値あなたが200以外の何かを受け取る場合は、そのURLを呼び出すためにシェルスクリプトで `CURL`を使用することができます
curl -s 'YOUR-URL' | \
python -c "import sys, json; print json.load(sys.stdin)['VARIABLE-TOFILTER']"
ありがとう、これは動作します! –
を印刷の一例であり、エラーコード 'exit xxx'でスクリプトを終了します。 「出口125」。 – 11thdimension