2017-11-29 6 views
0

現在のビルドの「最初の失敗」が発生した後、JenkinsがPowershellスクリプトを実行するようにします。 したがって、次の「失敗」ビルドでスクリプトが起動されないことがあります。 ビルドが成功した場合にのみ、最初の失敗時にpowershellスクリプトが再度トリガされることがあります。Jenkins;最初の失敗時にスクリプトを実行

私はすでに最初の失敗を判断するために、Groovyスクリプトで検索しています。しかし、誰かが「最初の失敗」でスクリプトを実行するオプションを持っているプラ​​グインを知っているのだろうか?

助けてください。

種類について、

ピーター

答えて

0

私は次のセットアップを行っている:私はWindowsバッチコマンドのビルドでPowerShellを起動

  • を。私は、以前のビルドNRで前回のビルドNR(単に-1 :))
  • を計算しますPowerShellでパラメータ-BuildNr $ENV:BUILD_NUMBER
  • を以下で、私は、XMLから結果を得る:から

結果取得しますPREVIOUSジェンキンスジョブ

$PreviousUrl   = "$($ProjectLink)/$($PreviousBuildNr)/api/xml" 
[xml]$PreviousXML = Invoke-WebRequest $PreviousUrl -Method GET -Headers 
$headers -UseBasicParsing 
$PreviousResult = $PreviousXML.freeStyleBuild.result 

そこから私は私のPowerShellスクリプトでさらにPreviousResultと(同様の)currentResultを使用することができますに。

0

はcurrentBuildオブジェクトは、以前のビルドにポイントを持っています。あなたの現在のビルドに失敗した場合は、おそらくcurrentBuild.previousBuild.resultで前回のビルドのステータスを確認できます。成功した場合、失敗したのは初めてです。私は実際にそのようにYMMVを試みなかった。

0

curl(またはそのようなもの)を使用できるとすれば、http.../jobname/lastSuccessfulBuild/buildNumberhttp.../jobname/lastFailedBuild/buildNumberの両方の内容を取得してみてください。 lastSuccessfulBuildの結果がlastFailedBuildより大きい場合は、最後の失敗前に成功しています。

関連する問題