Jenkins 管道 - 通过电子邮件通知控制台错误日志

viv*_*d4v 4 jenkins jenkins-pipeline

目前,我已经使用 Jenkinsfile 配置了一个作业,以便在发生故障时发送通知。

catch (err) {
    currentBuild.result = "FAILED"
    mail (to: 'viveky4d4v@gmail.com',
         subject: "Job '${env.JOB_NAME}'- (${env.BUILD_NUMBER}) has FAILED",
         body: "Please go to ${env.BUILD_URL} for more details. ");

    throw err
}
Run Code Online (Sandbox Code Playgroud)

如果作业失败,是否可以在电子邮件中也发送控制台日志?

Spe*_*one 8

如果您安装https://wiki.jenkins-ci.org/display/JENKINS/Email-ext+plugin此处找到的电子邮件扩展插件,那么您可以使用另一个参数执行此操作。看起来像这样:

emailext attachLog: true, body: '', subject: ''
Run Code Online (Sandbox Code Playgroud)

这会将日志作为 txt 文件附件附加到您的电子邮件中,这是我个人使用的方法。

或者,或者,如果您不介意“发送控制台日志”意味着“向控制台日志发送 URL”,您可以执行类似于 jozefow 建议的操作并将正文更改为...

body: "Please go to ${env.BUILD_URL}/consoleText for more details. ");
Run Code Online (Sandbox Code Playgroud)