Jenkinsパイプラインのビルドが失敗した後にSlack通知を送信する方法は?

切り取る:

Jenkins v2.19にパイプラインのグルーヴィーなスクリプトがあります。また、
「Slack Notification Plugin」v2.0.1と「Groovy Postbuild Plugin」も用意しています。

「ビルドが開始されました」および「ビルドが終了しました」というメッセージを送信しました(もしあれば)。

ビルドステップが失敗した場合-「ビルドが失敗しました」というメッセージをSlackチャネルに送信するにはどうすればよいですか?

JamalMcCrackin:

このようなことをして、try catchブロックを使用できます。

ここにいくつかのサンプルコードがあります:

node {
    try {
        notifyBuild('STARTED')

        stage('Prepare code') {
            echo 'do checkout stuff'
        }

        stage('Testing') {
            echo 'Testing'
            echo 'Testing - publish coverage results'
        }

        stage('Staging') {
            echo 'Deploy Stage'
        }

        stage('Deploy') {
            echo 'Deploy - Backend'
            echo 'Deploy - Frontend'
        }

  } catch (e) {
    // If there was an exception thrown, the build failed
    currentBuild.result = "FAILED"
    throw e
  } finally {
    // Success or failure, always send notifications
    notifyBuild(currentBuild.result)
  }
}

def notifyBuild(String buildStatus = 'STARTED') {
  // build status of null means successful
  buildStatus =  buildStatus ?: 'SUCCESSFUL'

  // Default values
  def colorName = 'RED'
  def colorCode = '#FF0000'
  def subject = "${buildStatus}: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'"
  def summary = "${subject} (${env.BUILD_URL})"

  // Override default values based on build status
  if (buildStatus == 'STARTED') {
    color = 'YELLOW'
    colorCode = '#FFFF00'
  } else if (buildStatus == 'SUCCESSFUL') {
    color = 'GREEN'
    colorCode = '#00FF00'
  } else {
    color = 'RED'
    colorCode = '#FF0000'
  }

  // Send notifications
  slackSend (color: colorCode, message: summary)
}

完全なスニペットはここにありますJenkinsfileテンプレート

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Jenkinsパイプラインのビルドが失敗した後にSlack通知を送信する方法は?

分類Dev

Jenkinsパイプラインのビルドが失敗した後にSlack通知を送信する方法は?

分類Dev

ビルドが回復したときにJenkinsパイプラインで通知を送信するにはどうすればよいですか?

分類Dev

宣言型パイプライン:ビルドが中止された場合、投稿/失敗通知を送信しない

分類Dev

Jenkins:ビルドが失敗しても、パイプラインは常に「SUCCESS」を返します

分類Dev

Visual Studio2013でコンパイルが失敗したときにビルド後のイベントをスキップする方法

分類Dev

Azure DevOpsビルドパイプラインでメール通知を送信する最良の方法は?「通知モジュール」を使用したくない

分類Dev

ビルドの失敗時にJenkinsパイプラインのメールが送信されない

分類Dev

ビルドのデプロイが成功した後、Jenkinsビルドが失敗する

分類Dev

GradleプラグインをannotationProcessorに移行して更新した後、Androidデータバインディングのビルドが失敗する

分類Dev

Java9を使用したラムダ式のコンパイル時にMavenビルドが失敗する

分類Dev

Jenkinsパイプラインの固定ビルドに関する通知を送信するにはどうすればよいですか?

分類Dev

クラウドビルドステップが失敗した後にDockerイメージをダウンロードする方法

分類Dev

Go(CIサーバー)は、パイプラインに関係なく、失敗したビルドごとにメールを送信できますか?

分類Dev

Jenkinsfile を使用した Jenkins パイプライン ビルドは失敗していません

分類Dev

イオンプラグインがcordova-plugin-googlemapsを追加した後、ビルドに失敗しました

分類Dev

Youtubeを追加した後-video-playerプラグインのビルドがionic3で失敗します

分類Dev

platform.jsをインクルードした後、Nativescriptアプリのビルドに失敗する

分類Dev

コマンドが失敗した場合にパイプラインの残りの部分を終了する最も簡潔な方法は何ですか?

分類Dev

DockerプラグインでJenkinsをビルドすると、インストールに失敗します

分類Dev

TypeScriptをアップグレードした後、Angularコントローラの登録がコンパイルに失敗する

分類Dev

TypeScriptをアップグレードした後、Angularコントローラの登録がコンパイルに失敗する

分類Dev

TypeScriptをアップグレードした後、Angularコントローラの登録がコンパイルに失敗する

分類Dev

別のビルドがすでに実行されている場合、AzureDevOpsビルドパイプラインは失敗します

分類Dev

「dotnetビルド」中にコンパイラの警告が表示された場合、.netプロジェクトのjenkinsビルドに失敗できますか?

分類Dev

パイプラインが失敗した後の最終段階-jenkins

分類Dev

リポジトリにバンドルを追加した後、bndgradleプラグインが失敗する

分類Dev

jenkinsパイプラインのどのステージが失敗したかを知るにはどうすればよいですか

分類Dev

xcodeを9.4に更新した後、react nativeiosビルドが失敗しました。エラーはタイプ「NSInteger」の値です

Related 関連記事

  1. 1

    Jenkinsパイプラインのビルドが失敗した後にSlack通知を送信する方法は?

  2. 2

    Jenkinsパイプラインのビルドが失敗した後にSlack通知を送信する方法は?

  3. 3

    ビルドが回復したときにJenkinsパイプラインで通知を送信するにはどうすればよいですか?

  4. 4

    宣言型パイプライン:ビルドが中止された場合、投稿/失敗通知を送信しない

  5. 5

    Jenkins:ビルドが失敗しても、パイプラインは常に「SUCCESS」を返します

  6. 6

    Visual Studio2013でコンパイルが失敗したときにビルド後のイベントをスキップする方法

  7. 7

    Azure DevOpsビルドパイプラインでメール通知を送信する最良の方法は?「通知モジュール」を使用したくない

  8. 8

    ビルドの失敗時にJenkinsパイプラインのメールが送信されない

  9. 9

    ビルドのデプロイが成功した後、Jenkinsビルドが失敗する

  10. 10

    GradleプラグインをannotationProcessorに移行して更新した後、Androidデータバインディングのビルドが失敗する

  11. 11

    Java9を使用したラムダ式のコンパイル時にMavenビルドが失敗する

  12. 12

    Jenkinsパイプラインの固定ビルドに関する通知を送信するにはどうすればよいですか?

  13. 13

    クラウドビルドステップが失敗した後にDockerイメージをダウンロードする方法

  14. 14

    Go(CIサーバー)は、パイプラインに関係なく、失敗したビルドごとにメールを送信できますか?

  15. 15

    Jenkinsfile を使用した Jenkins パイプライン ビルドは失敗していません

  16. 16

    イオンプラグインがcordova-plugin-googlemapsを追加した後、ビルドに失敗しました

  17. 17

    Youtubeを追加した後-video-playerプラグインのビルドがionic3で失敗します

  18. 18

    platform.jsをインクルードした後、Nativescriptアプリのビルドに失敗する

  19. 19

    コマンドが失敗した場合にパイプラインの残りの部分を終了する最も簡潔な方法は何ですか?

  20. 20

    DockerプラグインでJenkinsをビルドすると、インストールに失敗します

  21. 21

    TypeScriptをアップグレードした後、Angularコントローラの登録がコンパイルに失敗する

  22. 22

    TypeScriptをアップグレードした後、Angularコントローラの登録がコンパイルに失敗する

  23. 23

    TypeScriptをアップグレードした後、Angularコントローラの登録がコンパイルに失敗する

  24. 24

    別のビルドがすでに実行されている場合、AzureDevOpsビルドパイプラインは失敗します

  25. 25

    「dotnetビルド」中にコンパイラの警告が表示された場合、.netプロジェクトのjenkinsビルドに失敗できますか?

  26. 26

    パイプラインが失敗した後の最終段階-jenkins

  27. 27

    リポジトリにバンドルを追加した後、bndgradleプラグインが失敗する

  28. 28

    jenkinsパイプラインのどのステージが失敗したかを知るにはどうすればよいですか

  29. 29

    xcodeを9.4に更新した後、react nativeiosビルドが失敗しました。エラーはタイプ「NSInteger」の値です

ホットタグ

アーカイブ