我有以下内容post
故障部分:
post {
failure {
mail subject: "\u2639 ${env.JOB_NAME} (${env.BUILD_NUMBER}) has failed",
body: """Build ${env.BUILD_URL} is failing!
|Somebody should do something about that""",
to: "[email protected]",
replyTo: "[email protected]",
from: '[email protected]'
}
}
我想在错误消息正文中包含构建失败的原因。
我怎样才能做到这一点?
如果没有,有没有办法将构建日志文件附加到电子邮件中?
我不知道有什么方法可以凭空自动检索失败原因。
但是,您可以在每个阶段中使用“post{ failure {” 块来捕获至少在环境变量中失败的阶段(例如 env.FAILURE_REASON),并在最终(全局范围)通知块中访问该 env var 。
为了获得更多粒度,您可以重用全局环境变量的相同机制,但使用 try { } catch { } 块来捕获失败的特定步骤。
一个通用的例子是:
pipeline {
stages {
stage('Build') {
steps {
...
}
post {
failure {
script { env.FAILURE_STAGE = 'Build' }
}
}
}
stage('Deploy') {
steps {
...
}
post {
failure {
script { env.FAILURE_STAGE = 'Deploy' }
}
}
}
...
}
post {
failure {
mail subject: "\u2639 ${env.JOB_NAME} (${env.BUILD_NUMBER}) has failed",
body: """Build ${env.BUILD_URL} is failing in ${env.FAILURE_STAGE} stage!
|Somebody should do something about that""",
to: "[email protected]",
replyTo: "[email protected]",
from: '[email protected]'
}
}
}
从技术上讲,您甚至可以根据失败阶段进行一些自动分类,并发送更有针对性的通知,甚至创建特定的(例如 Jira)票证。
要将控制台日志附加到电子邮件通知,您需要查看emailext和“attachLog: true”属性
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)