在 Jenkins 电子邮件通知中包含失败原因

问题描述 投票:0回答:1

我希望直接在 Jenkins 的电子邮件中获得失败的测试/构建信息,而不必通过链接并滚动控制台日志来查找问题。

我花了一整天时间尝试不同的变体,包括尝试打开和解析日志文件,或发送整个文件,现在使用 JELLY_SCRIPT,但在每种情况下,我遇到的问题是显然调用了失败任务 before 实际记录了失败原因,因此收到的信息包括除原因之外的所有内容(包括正在发送电子邮件的事实)。这似乎是一个基本的用例,我想解决方案一定是显而易见的,但我仍然没有找到我正在寻找的东西。

这是我的测试管道代码:

pipeline {
    agent { label '' }
    environment {
        AccessToken = credentials('xxx')
        CredentialsIdEsd = "xxx"
    }
  
    stages {
        stage('Prepare') {
            steps {
                script {
                    error 'This is a deliberate failure'
                }
            }
        }
    }
    post {
        failure {
            script{
                emailext subject: "Failed" + " for ${JOB_NAME} JOB#${BUILD_NUMBER}",
                         body:  '${JELLY_SCRIPT,template="html"}',
                         from: "Jenkins Build <[email protected]>",
                         to: "[email protected]"
            }
        }
    }
}
jenkins
1个回答
0
投票

使用错误来测试捕获错误显然是一个坏主意。

它似乎相当于“exit 1”,它杀死了管道(或者其他东西,我已经放弃尝试理解)。

在其中添加其他不起作用的内容(例如构建错误或失败的单元测试),确实会被捕获并显示在电子邮件中。

(希望我们没有为了 Jenkins 抛弃 TeamCity...)

© www.soinside.com 2019 - 2024. All rights reserved.