ビルドが失敗したときに電子メールを送信する旧式のポストビルドタスクをジェンキンスパイプラインに追加するにはどうすればよいですか?私はパイプラインのGUIで "ビルド後のアクション"を見つけることができません。私はビルドスクリプト全体をラップすることができることを知っていますが、ビルドスクリプトが大規模で、ジョブが手動で中止された場合でも電子メールを送信し続けると、これは醜いようです。私はpreviouse email-ext
ベースのビルド後のアクションと同じ機能を実現したいと思います。jenkinsパイプラインのエラーで電子メールを送信
4
A
答えて
4
現時点では、この手順をtryと一緒に使用する必要があります。キャッチするとビルド後の処理が行われます。
今後、この手順は計画されています(実際はレビュー中です)。あなたは(宣言型のパイプラインの一部を参照してください)詳細な情報は、このブログの記事を読むことができます:
ジェンキンスJiraの中https://jenkins.io/blog/2016/09/19/blueocean-beta-declarative-pipeline-pipeline-editor/
またはこのチケット:
https://issues.jenkins-ci.org/browse/JENKINS-38153
と、このプルリクエスト:
https://github.com/jenkinsci/pipeline-model-definition-plugin/pull/13/
T彼はブログの記事の一部です:
宣言パイプラインの試行の手間をかけずに、パイプラインの最後に条件付きで物事を実行することが容易になりますポストビルドセクション...パイプラインスクリプトのキャッチを紹介します。ビルド状況は、あなたがpost > changed blockを使用することができます変更された場合にのみ、行動を起こすために
postBuild {
always {
sh 'echo "This will always run"'
}
success {
sh 'echo "This will run only if successful"'
}
failure {
sh 'echo "This will run only if failed"'
}
unstable {
sh 'echo "This will run only if the run was marked as unstable"'
}
changed {
sh 'echo "This will run only if the state of the Pipeline has changed"'
sh 'echo "For example, the Pipeline was previously failing but is now successful"'
sh 'echo "... or the other way around :)"'
}
}
2
。
ステータスを変更した状態を確認するには、script blockとcurrentBuild.currentResult
プロパティの値を組み合わせて使用することができます。そのよう
は:
pipeline {
...
post {
changed {
script {
if (currentBuild.currentResult == 'FAILURE') { // Other values: SUCCESS, UNSTABLE
// Send an email only if the build status has changed from green/unstable to red
emailext subject: '$DEFAULT_SUBJECT',
body: '$DEFAULT_CONTENT',
recipientProviders: [
[$class: 'CulpritsRecipientProvider'],
[$class: 'DevelopersRecipientProvider'],
[$class: 'RequesterRecipientProvider']
],
replyTo: '$DEFAULT_REPLYTO',
to: '$DEFAULT_RECIPIENTS'
}
}
}
}
}
0
この回答verは私のジェンキンスに取り組みました。 2.96。
Jenkins pipeline email not sent on build failure - Stack Overflow
pipeline {
agent any
stages {
stage('Test') {
steps {
sh 'echo "Fail!"; exit 1'
}
}
}
post {
always {
echo 'This will always run'
}
success {
echo 'This will run only if successful'
}
failure {
mail bcc: '', body: "<b>Example</b><br>\n\<br>Project: ${env.JOB_NAME} <br>Build Number: ${env.BUILD_NUMBER} <br> URL de build: ${env.BUILD_URL}", cc: '', charset: 'UTF-8', from: '', mimeType: 'text/html', replyTo: '', subject: "ERROR CI: Project name -> ${env.JOB_NAME}", to: "[email protected]";
}
unstable {
echo 'This will run only if the run was marked as unstable'
}
changed {
echo 'This will run only if the state of the Pipeline has changed'
echo 'For example, if the Pipeline was previously failing but is now successful'
}
}
}
関連する問題
- 1. ASP電子メール送信エラー
- 2. Concourse CIパイプライン経由で電子メールを送信するには?
- 3. Javaは電子メールを送信:smtp.gmail.comエラー
- 4. 電子メールを送信するemailnot送信emailnot送信emailnot送信emailnot送信emailnot送信しない電子メール を送信しない電子メール
- 5. ページ電子メールで送信
- 6. UIImage電子メールで送信
- 7. Jenkins Script Consoleから電子メールを送信できますか?
- 8. Jenkins:電子メールで構築トレンドグラフを送信
- 9. 送信後に電子メールを送信
- 10. Codeigniter - 電子メールを送信
- 11. vb.net電子メールを送信
- 12. Asp.net電子メールを送信
- 13. 電子メールを送信php
- 14. SparkPost電子メールを送信
- 15. ASP.NET-電子メールを送信
- 16. AHK:電子メールの送信
- 17. サブスクリプションサービス - 電子メールの送信
- 18. Java電子メールSMTP&TSL、エラー電子メールを送信できません
- 19. Jenkinsはもう電子メールを送信しません
- 20. Jenkinsと電子メール通知を送信するには?
- 21. CDO - 電子メールを送信しても電子メールを送信すると
- 22. Asp.net電子メール送信プロセス
- 23. Jenkinsは携帯電話の電子メールに電子メールを送信しません[email protected]と@vnet.com
- 24. ヘロクのPadrinoで電子メールを送信
- 25. Google電子メールへの電子メールの送信方法
- 26. 電子メールからの電子メールの送信は、Googleスクリプト
- 27. メテオイントラネット電子メールに電子メールを送信
- 28. Springでの電子メール送信のテスト
- 29. 電子メールでコンソール出力の一部を使用しているJenkinsのパイプライン電子メール通知
- 30. html - 電子メールでフラッシュを送信