2016-05-23 33 views
5

JenkinsのSCMポーリングの失敗(たとえば、リポジトリのURLが変更されたか、ブランチが削除された場合など)を確認したり、通知を受けたいと思います。JenkinsのSCMポーリングの失敗について通知/チェックします。

a)はジェンキンスのためのプラグインのインストール/設定など障害のあるジョブ

B)をリストしジェンキンスコンソールスクリプトは、その事実について何とか私を通知する(電子メール、何でも)

:私はこれらについて考えました

c)外部スクリプト/実行可能ファイル(bash、python、...)。これはSCMのポーリング失敗のために最後のX時間に失敗したビルドをリストします

+1

[この回答](http://stackoverflow.com/questions/18277720/email-notification-for-subversion-polling-failures-in-jenkins)はSVN用ですが、このケースでも同様です。 – approxiblue

答えて

1

あなたの質問で言及したように、スクリプトを使用することです。たとえば、Groovy Postbuildです。

Groovy Postbuildスクリプトはマスター上で実行されるため、標準IO機能を使用してファイルシステム上にある各ジョブのscm-polling.logにアクセスできます。例えば

は、Windowsマスターを想定し、ここにあなたにいくつかのアイデアを与えるためにいくつかの(未テスト)の擬似コードは次のとおりです。

def error = false; 
def jobsDirectory = new File("C:\\Jenkins\\jobs"); 
jobsDirectory.eachFile { 
    def pollingLog = new File(it.path + "\\scm-polling.log"); 
    if(pollingLog.text =~ "ERROR") 
    { 
     manager.listener.logger.println(it.path + " has polling errors."); 
     error = true; 
    } 
} 

if(error) { 
    manager.build.buildFailure(); 
} 

あなたは失敗としてビルドをマークしたら、標準の電子メール機能を使用することができますジェンキンスはEmail-ext pluginを使って素敵に見えるように電子メールやフォーマットを送信してください。

関連する問題