Jenkis邮件通知:Email Extension Plugin

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Jenkis邮件通知:Email Extension Plugin

图片.png

前言


基于Email Extension Plugin,增强邮件通知

安装Email Extension Plugin插件

图片.png


进入系统管理->系统设置


"系统管理员的邮件配置地址",对管理员的邮件进行配置(邮件发送者)

图片.png


找到“Extended E-mail Notification”配置模块,在这里配置插件的全局控制

图片.png

Default Content Type:邮件内容格式,可选Plain text和HTML。

Default Recipients:默认的收件人列表,用逗号分隔。收件人列表中还可以包含“cc”和“bcc”前缀,分别表示抄送和暗送,如:cc:123456@qq.com,bcc:78910@qq.com。

Default Subject:默认的邮件标题。

Default Content:默认的邮件内容。

图片.png


邮件主题


【构建通知】$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!


邮件内容模板


<!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>
            <td>(本邮件是程序自动下发的,请勿回复!)</td>
        </tr>
        <tr>
            <td><h2>
                    <font color="#0000FF">构建结果 - ${BUILD_STATUS}</font>
                </h2></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>SVN 版本: ${SVN_REVISION}</li>
                    <li>触发原因: ${CAUSE}</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}ws">${PROJECT_URL}ws</a></li>
                    <li>项目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
                </ul>
            </td>
        </tr>
        <tr>
            <td><b><font color="#0B610B">Changes Since Last
                        Successful Build:</font></b>
            <hr size="2" width="100%" align="center" /></td>
        </tr>
        <tr>
            <td>
                <ul>
                    <li>历史变更记录 : <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a></li>
                </ul> ${CHANGES_SINCE_LAST_SUCCESS,reverse=true, format="Changes for Build #%n:<br />%c<br />",showPaths=true,changesFormat="<pre>[%a]<br />%m</pre>",pathFormat="    %p"}
            </td>
        </tr>
        <tr>
            <td><b>Failed Test Results</b>
            <hr size="2" width="100%" align="center" /></td>
        </tr>
        <tr>
            <td><pre
                    style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">$FAILED_TESTS</pre>
                <br /></td>
        </tr>
        <tr>
            <td><b><font color="#0B610B">构建日志 (最后 100行):</font></b>
            <hr size="2" width="100%" align="center" /></td>
        </tr>
        <!-- <tr>
            <td>Test Logs (if test has ran): <a
                href="${PROJECT_URL}ws/TestResult/archive_logs/Log-Build-${BUILD_NUMBER}.zip">${PROJECT_URL}/ws/TestResult/archive_logs/Log-Build-${BUILD_NUMBER}.zip</a>
                <br />
            <br />
            </td>
        </tr> -->
        <tr>
            <td><textarea cols="80" rows="30" readonly="readonly"
                    style="font-family: Courier New">${BUILD_LOG, maxLines=100}</textarea>
            </td>
        </tr>
    </table>
</body>
</html>


图片.png

Enable Debug Mode:开启插件的Debug模式,在日志里能看到更多信息

点击最右下角的"Default Triggers ..."按钮设置默认的触发邮件通知的事件

图片.png

填好SMTP Server的信息。点击“高级”进行SMTP鉴权的配置,配置发邮件人的用户名、密码等信息。

注意:

  1. 对于QQ邮箱-Password字段需要填写授权码(获取授权码,请参考https://blog.csdn.net/fly910905/article/details/80331842
  2. 对于QQ邮箱,需要勾选“Use SSL”

图片.png


在项目配置后添加“构建后操作“, 选择”Editable Email Notification”进行配置
  1. Disable Extended Email Publisher:勾选后,邮件就不发送,看自己的情况喽,如果你想调试某些东西,又不想发邮件出去就可以勾选这个。


  1. Project Recipient List:收件人地址;多个收件人邮件地址用逗号进行分割;想使用全局默认配置的话,可以使用$DEFAULT_RECIPIENTS。


  1. Project Reply-To List:允许回复人的地址;想使用系统设置中的默认值的话,可以使用$DEFAULT_REPLYTO;


  1. Content Type:邮件文档的类型,可以设置HTML等格式;


  1. Default Subject:默认主题,也就是邮件标题;同理可以使用$DEFAULT_SUBJECT


  1. Default Content:默认邮件内容;这里是关键;我这里使用的是模板${SCRIPT, template="groovy-html.template"};后面会讲;当然不想使用模板的话,可以通过使用jenkins自身提供的变量来自己定义;


  1. Attach Build Log:发送的邮件是否包含日志;
图片.png
图片.png

图片.png

最好添加RecipientList,笔者测试只有Developers,不能接收到邮件


图片.png

针对该项目定义该项目通知的收件人列表、主题、内容、附件等图片.png

邮件通知效果

图片.png

常见异常
  1. Jenkis邮件通知异常:MessagingException message: 535 Error
  2. Jenkis邮件通知异常:MessagingException message: 530 Error: A secure connection is requiered(such as ssl)

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
8月前
|
C#
C# WinForm发送Email邮件
C# WinForm发送Email邮件
C# WinForm发送Email邮件
|
2月前
在 Jenkinsfile 中配置邮件通知的示例代码
在 Jenkinsfile 中配置邮件通知的示例代码
|
JavaScript
Notification.description(ant-design) 和 $notify.message(element-ui) 通知内容自定义
Notification.description(ant-design) 和 $notify.message(element-ui) 通知内容自定义
489 0
|
测试技术 Python
Python分享-email.message如何构建你的邮件消息
Python分享-email.message如何构建你的邮件消息
100 0
邮件(email)
邮件–发送邮件 1.准备工作 1.1.生成查长度为4的验证码
144 0
|
jenkins 持续交付
Jenkins - jenkins配置邮件报错:501 mail from address must be same as authorization user
Jenkins - jenkins配置邮件报错:501 mail from address must be same as authorization user
343 0
Jenkins - jenkins配置邮件报错:501 mail from address must be same as authorization user
|
数据采集 Python
python通过163邮箱发送email邮件
python通过163邮箱发送email邮件
267 0
JavaUtil_09_email_使用 commons-email 发送邮件
  二、参考资料 1.【commons】邮件发送工具——commons-email
1072 0