Jenkinsfileを使って、ビルド後に通知を送ってみましょう。

ステータスに合わせて処理を追加する方法

postセクションを追加することで、ステータスに応じた処理を実行することが可能です(https://jenkins.io/doc/pipeline/tour/post/ より)。

pipeline {
    agent any
    stages {
        stage('No-op') {
            steps {
                sh 'ls'
            }
        }
    }
    post {
        always {
            echo 'One way or another, I have finished'
            deleteDir() /* clean up our workspace */
        }
        success {
            echo 'I succeeeded!'
        }
        unstable {
            echo 'I am unstable :/'
        }
        failure {
            echo 'I failed :('
        }
        changed {
            echo 'Things were different before...'
        }
    }
}
  • always : 常に実行
  • success : ビルド成功時
  • unstable : ビルドが不安定な時
  • failure : ビルド失敗時
  • changed : パイプラインが変更した際
    • ソースコードの変更があった際も実行されそうな気がするけど未確認。

通知あれこれ

mail, slackSend, hipchatSendなどのstepが使えます。
Pipeline Steps Referenceにて、”send”で検索すると、通知に使えるstepを検索することができます。

hubotやmattermost(slack clone)などもあります。IRCは無い…



調べて見たら、必要なことはすべてにhttps://jenkins.io/doc/pipeline/tour/post/ に書かれていた、という。
https://jenkins.io/blog/2017/02/15/declarative-notifications/ も参考になりますので、合わせてご参照ください。