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日志并进行多维度分析。
目录
相关文章
|
4月前
|
安全 API 数据安全/隐私保护
DISPOSABLE EMAIL邮箱API发送邮件方法
DISPOSABLE EMAIL邮箱API是用于发送邮件的编程接口,无需暴露真实邮箱地址。使用步骤包括注册获取API密钥、配置参数和调用发送邮件接口。其优势在于隐藏邮箱、简化集成过程和提高邮件送达率。使用时注意遵守条款、保证数据安全及控制发送频率。
|
4月前
|
API
Temporary email邮箱API发送邮件的步骤
使用Temporary email API发送邮件可保护隐私。步骤包括:了解API原理,注册获取API密钥,调用API并传入密钥,生成临时邮箱地址,编写邮件内容,然后发送。此方法确保真实邮箱不被泄露,适用于避免垃圾邮件。记得遵守使用规定和法规。
|
JavaScript
Notification.description(ant-design) 和 $notify.message(element-ui) 通知内容自定义
Notification.description(ant-design) 和 $notify.message(element-ui) 通知内容自定义
375 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
304 0
Jenkins - jenkins配置邮件报错:501 mail from address must be same as authorization user
|
安全 网络协议 Java
JDK安全证书的一个错误消息 No subject alternative names present的解决办法
JDK安全证书的一个错误消息 No subject alternative names present的解决办法
JDK安全证书的一个错误消息 No subject alternative names present的解决办法
使用action framework 实现order change时自动发送邮件
Created by Jerry Wang, last modified on May 01, 2014 具体说明可以参考这个blog
使用action framework 实现order change时自动发送邮件
SAP CRM呼叫中心的邮件发送实现 - Function module CRM_EMAIL_SEND_EMAIL
SAP CRM呼叫中心的邮件发送实现 - Function module CRM_EMAIL_SEND_EMAIL
SAP CRM呼叫中心的邮件发送实现 - Function module CRM_EMAIL_SEND_EMAIL
Confluence 6 workbox 通知包含了什么
当一个用户在 Confluence 中进行下面的操作的时候,workbox 将会显示为通知: 分享(Shares) 你的页面或者博客页面。
770 0
JavaUtil_09_email_使用 commons-email 发送邮件
  二、参考资料 1.【commons】邮件发送工具——commons-email
1059 0