2016-11-06 14 views
1

Ich verwende die folgende Funktion innerhalb einer Jenkins Pipeline, um Prozesseinheit Testergebnisse und sie in der Jenkins Anzeigen Seite bauen:Wie wird eine Benachrichtigung gesendet, wenn ein Komponententest fehlschlägt?

def check_test_results(String path) { 
    step([ 
     $class: 'XUnitBuilder', 
     testTimeMargin: '3000', 
     thresholdMode: 1, 
     thresholds: [ 
      [$class: 'FailedThreshold', failureNewThreshold: '0', failureThreshold: '0', unstableNewThreshold: '', unstableThreshold: ''], 
      [$class: 'SkippedThreshold', failureNewThreshold: '', failureThreshold: '', unstableNewThreshold: '', unstableThreshold: ''] 
     ], 
     tools: [ 
      [$class: 'JUnitType', deleteOutputFiles: true, failIfNotNew: false, pattern: path, skipNoTestFiles: false, stopProcessingIfError: true] 
     ] 
    ]) 
} 

Ich bin die Tatsache bewusst, dass die J/xUnit Ergebnisse angezeigt werden die Jenkins-Build-Seite, aber ich möchte die Möglichkeit haben, eine Slack-Benachrichtigung zu senden (Slack-Benachrichtigungen sind bereits konfiguriert und funktionieren), wenn ein Komponententest fehlschlägt und vor allem, wenn es fehlschlägt, ist das möglich?

Antwort

2

Sie können dafür einen try/catch verwenden, aber vielleicht nicht einzeln.

def check_test_results(String path) { 
    try { 
     step([ 
      $class: 'XUnitBuilder', 
      testTimeMargin: '3000', 
      thresholdMode: 1, 
      thresholds: [ 
       [$class: 'FailedThreshold', failureNewThreshold: '0', failureThreshold: '0', unstableNewThreshold: '', unstableThreshold: ''], 
       [$class: 'SkippedThreshold', failureNewThreshold: '', failureThreshold: '', unstableNewThreshold: '', unstableThreshold: ''] 
      ], 
      tools: [ 
       [$class: 'JUnitType', deleteOutputFiles: true, failIfNotNew: false, pattern: path, skipNoTestFiles: false, stopProcessingIfError: true] 
      ] 
     ]) 
    } 
    catch(error) { 
     slackSend message: error 
    } 
} 

und passen Sie die Slack-Benachrichtigung nach Ihren Wünschen.

Verwandte Themen