2017-06-06 2 views
1

私はJenkinsを使用してWARをデプロイしています。最終的なパイプラインステージで実際にエンドポイントに到達してJSON応答を確認したいと思います。 の値が正しい場合は成功し、そうでない場合はビルドが失敗します。Jenkins Pipelineで特定のJSON応答のURLをチェックして成功/失敗するステージを作るにはどうすればいいですか?

どうすればよいですか?

+0

を印刷の一例であり、エラーコード 'exit xxx'でスクリプトを終了します。 「出口125」。 – 11thdimension

答えて

1
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']" 

Parsing JSON with Unix tools

+0

ありがとう、これは動作します! –

関連する問題