我是 Jenkins 的新手,我想找到一种方法来为每个构建步骤失败发送电子邮件。
更具体地说,我有一份运行脚本的工作(作为单独的构建步骤),我想将 Jenkins 配置为在其中一个步骤失败时发送通知。
每个脚本运行一个不同的测试包,QA 询问我们是否可以根据哪个构建步骤失败发送单独的电子邮件。
你能帮忙吗?
我已经在使用 EMAIL-EXT 插件,但它似乎没有给你选择。
我是 Jenkins 的新手,我想找到一种方法来为每个构建步骤失败发送电子邮件。
更具体地说,我有一份运行脚本的工作(作为单独的构建步骤),我想将 Jenkins 配置为在其中一个步骤失败时发送通知。
每个脚本运行一个不同的测试包,QA 询问我们是否可以根据哪个构建步骤失败发送单独的电子邮件。
你能帮忙吗?
我已经在使用 EMAIL-EXT 插件,但它似乎没有给你选择。
您可以将每个构建步骤放在声明性管道阶段,因为这些可以利用该post
块发送电子邮件。像这样:
pipeline {
agent { label 'docker' }
stages {
stage('stage1') {
steps {
sh 'script1.sh'
}
post {
failure {
emailext (
subject: "Test1", body: "Test", recipientProviders: [[$class: 'DevelopersRecipientProvider']]
)
}
}
}
stage('stage2') {
steps {
sh 'script2.sh'
}
post {
failure {
emailext (
subject: "Test2", body: "Test", recipientProviders: [[$class: 'DevelopersRecipientProvider']]
)
}
}
}
}
}
请注意,如果第一阶段失败,上述解决方案不会运行整个管道。您还可以在脚本化或声明性管道中使用 try/catch。这将为您提供最大的灵活性(例如,如果您确实希望整个管道运行,即使其中一个步骤失败了)。