前言
- 邮件通知【基础版】: Jenkins:发送邮件(QQ邮箱)
基于Email Extension Plugin,增强邮件通知
安装Email Extension Plugin插件
进入系统管理->系统设置
"系统管理员的邮件配置地址",对管理员的邮件进行配置(邮件发送者)
找到“Extended E-mail Notification”配置模块,在这里配置插件的全局控制
Default Content Type:邮件内容格式,可选Plain text和HTML。
Default Recipients:默认的收件人列表,用逗号分隔。收件人列表中还可以包含“cc”和“bcc”前缀,分别表示抄送和暗送,如:cc:123456@qq.com,bcc:78910@qq.com。
Default Subject:默认的邮件标题。
Default Content:默认的邮件内容。
邮件主题
【构建通知】$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>
Enable Debug Mode:开启插件的Debug模式,在日志里能看到更多信息
点击最右下角的"Default Triggers ..."按钮设置默认的触发邮件通知的事件
填好SMTP Server的信息。点击“高级”进行SMTP鉴权的配置,配置发邮件人的用户名、密码等信息。
注意:
- 对于QQ邮箱-Password字段需要填写授权码(获取授权码,请参考https://blog.csdn.net/fly910905/article/details/80331842)
- 对于QQ邮箱,需要勾选“Use SSL”
在项目配置后添加“构建后操作“, 选择”Editable Email Notification”进行配置
- Disable Extended Email Publisher:勾选后,邮件就不发送,看自己的情况喽,如果你想调试某些东西,又不想发邮件出去就可以勾选这个。
- Project Recipient List:收件人地址;多个收件人邮件地址用逗号进行分割;想使用全局默认配置的话,可以使用$DEFAULT_RECIPIENTS。
- Project Reply-To List:允许回复人的地址;想使用系统设置中的默认值的话,可以使用$DEFAULT_REPLYTO;
- Content Type:邮件文档的类型,可以设置HTML等格式;
- Default Subject:默认主题,也就是邮件标题;同理可以使用$DEFAULT_SUBJECT
- Default Content:默认邮件内容;这里是关键;我这里使用的是模板${SCRIPT, template="groovy-html.template"};后面会讲;当然不想使用模板的话,可以通过使用jenkins自身提供的变量来自己定义;
- Attach Build Log:发送的邮件是否包含日志;
最好添加RecipientList,笔者测试只有Developers,不能接收到邮件
针对该项目定义该项目通知的收件人列表、主题、内容、附件等
邮件通知效果
常见异常
- Jenkis邮件通知异常:MessagingException message: 535 Error
- Jenkis邮件通知异常:MessagingException message: 530 Error: A secure connection is requiered(such as ssl)