Jenkins - Pipelineで、ビルド後に通知を送る
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/ も参考になりますので、合わせてご参照ください。