Jenkins 配置邮件发送测试报告

前言

在之前的文章(Jenkins自动执行python脚本输出测试报告)中,我们已成功实现利用Jenkins自动执行python脚本,输出并可直接在界面上查看测试报告,这里我们还差最后一步,我们需要将报告发给领导或同事,以向他们展示自己的成果。

开启SMTP服务

这里我们以QQ邮箱为例进行学习,需要开启 SMTP 服务,登录QQ邮箱->设置->账户->开启 POP3/SMTP 服务。

Jenkins 配置邮件发送测试报告

Jenkins 配置邮件发送测试报告

开启SMTP服务时,需要发送短信验证,按照提示信息操作后,就可以得到一个QQ邮箱授权码,将该授权码保存下来,当我们通过 Jenkins 配置邮件时,该授权码就相当于QQ邮箱的密码。

配置Jenkins自带的邮件功能

首先,需要在Jenkins控制台,进入系统管理->系统设置,配置系统管理员邮件地址,即发件人的邮箱地址。

Jenkins 配置邮件发送测试报告

Jenkins 配置邮件发送测试报告

接着,拉到界面最下面,找到邮件通知,点击 高级

Jenkins 配置邮件发送测试报告

最后配置如下(以QQ邮箱为例):

Jenkins 配置邮件发送测试报告

以上配置完成,勾选 通过发送邮件配置测试配置,点击按钮 Test configuration 测试配置是否成功。

Jenkins 配置邮件发送测试报告

最后,点击保存。

安装 Email Extension Plugin 插件

上面Jenkins中虽然有自带的邮件功能,但自带邮件发送的内容太简单了,我们最好额外安装一个专门的邮件插件:Email Extension Plugin

在Jenkins控制台,进入系统管理->插件管理->可选插件,搜索该插件进行安装,如果已安装的话,可以在 已安装 中找到该插件。

Jenkins 配置邮件发送测试报告

结合插件配置邮件通知

插件安装完成后,再次进入系统管理->系统设置,找到 Extended E-mail Notification,我们需要在这里进行配置。

Jenkins 配置邮件发送测试报告

Jenkins 配置邮件发送测试报告

对于邮件的正文内容,可以在网上找一个来使用,比如这样的:

<!DOCTYPE html>    
<html>    
<head>    
<meta charset="UTF-8">    
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>    
</head>    
    
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"    
    offset="0">    
    <table width="95%" cellpadding="0" cellspacing="0"  style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">    
        <tr>    
            本邮件由系统自动发出,无需回复!<br/>            
            大家好,以下为 ${PROJECT_NAME } 项目构建信息</br> 
            <td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td>   
        </tr>    
        <tr>    
            <td><br />    
            <b><font color="#0B610B">构建信息</font></b>    
            <hr size="2" width="100%" align="center" /></td>    
        </tr>    
        <tr>    
            <td>    
                <ul>    
                    <li>项目名称 : ${PROJECT_NAME}</li>    
                    <li>构建编号 : 第${BUILD_NUMBER}次构建</li>    
                    <li>触发原因: ${CAUSE}</li>    
                    <li>构建状态: ${BUILD_STATUS}</li>    
                    <li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>    
                    <li>构建URL: <a href="${BUILD_URL}">${BUILD_URL}</a></li>    
                    <li>测试报告: <a href="${PROJECT_URL}HTML_20Report">${PROJECT_URL}HTML_20Report</a></li>    
                </ul>    

<h4><font color="#0B610B">失败用例</font></h4>
<hr size="2" width="100%" />
$FAILED_TESTS<br/>

<h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
<hr size="2" width="100%" />
<ul>
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
</ul>
详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>

            </td>    
        </tr>    
    </table>    
</body>    
</html>

最后,点击保存完成配置。

项目配置

上面只是邮件的配置,我们还需要在项目中使用该邮件配置,具体是在构建后操作中引用。

Jenkins 配置邮件发送测试报告

Jenkins 配置邮件发送测试报告

Jenkins 配置邮件发送测试报告

最后保存,完成配置。

查看构建发送的邮件

我们到项目界面,选择立即构建,查看以上配置是否成功。

Jenkins 配置邮件发送测试报告

查看邮件及其内容

Jenkins 配置邮件发送测试报告