是否有一种通用的方法来发送电子邮件通知,以汇总底层的詹金斯式样和工作?
现在,我们有一个父管道,该管道在其中调用其他作业或管道作业。每个工作现在都在发送自己的电子邮件,而且变得太吵了。
例如,如果我有2个阶段,每个阶段都有2个并行的任务/工作。我想发送电子邮件摘要,例如:
第1阶段:失败(因为taskA失败)
-firstTaskA:通过
-firstTaskB:失败
第二阶段:通过
-firstTaskA:通过
-firstTaskB:通过
管道示例:
stage("Stage 1") {
steps {
parallel (
"firstTaskA" : {
//do some stuff
},
"secondTaskA" : {
// Do some other stuff in parallel
}
)
}
}
stage("Stage 2") {
steps {
parallel (
"firstTaskB" : {
//do some stuff
},
"secondTaskB" : { //calls a pipeline job
// Do some other stuff in parallel
}
)
}
}
post{ //aggregate the results and send an email }
答案 0 :(得分:0)
node {
try {
stage('Clean Work Space') {
try {
// Try stage...
} catch (e) {
currentBuild.result = "FAILURE"
throw e
} finally {
stage('Cleanup Job workspace') {
cleanWs()
}
if(currentBuild.result == 'FAILURE') {
// Send email
}
}
}
}
使用try,catch并最终尝试并尝试捕获故障,如果发现故障,请发送电子邮件。
您可以在try,catch或finally部分中发送电子邮件,具体取决于您的电子邮件原因。
如果您想发送一封电子邮件,请在所有阶段之外的主节点上使用try,catch和finally(将所有阶段都用try,catch和finally包裹)。