Jenkins默认有一个邮件通知功能,但功能比较单一,能自定义的东西很少,一般使用Extended E-mail Notification插件来发送邮件,EXT Email插件功能比较多,但设置也比较复杂。
前言
由于只是学习Jenkins,所以这里写的不会太多,只会简单的写一下,后续学习到了会更新。这里有几个关键的地方提一下:
- Extended E-mail Notification的发件人邮箱和Jenkins Location系统管理员邮箱相同
- SMTP Authentication的Password 是SMTP的授权码,不是邮箱密码,同时也要确认是否开启SMTP。
- 勾选”Enable Debug Mode”可以开启EXT E-mail Notification的调试功能,这样可以在构建日志里增加更多相关日志。
- EXT E-mail插件并没有测试功能,需要在构建后查看Console Output下的日志。
- 如果发送邮件失败,要注意SMTP Authentication的User Name要输全邮箱名。
配置
Extended E-mail Notification的配置就是在系统管理——系统设置里面。在设置EXT E-mail 之前,我们需要先设置一下Jenkins Location里的系统管理员邮箱。这个邮箱必须保证和下面的发件人相同
然后再设置EXT E-mail插件。这里需要注意一下
- Default user E-mail suffix。设置默认的EMAIL后缀名,这里设置后,之后的发件人若不设置后缀,都以这个为后缀。
- 勾选Use SMTP Authentication。填入发件人的用户名密码、SMTP的端口号等信息。这里注意用户名要填全,密码要填写SMTP的授权码,这个授权码需要去邮箱里开启SMTP并获取授权码。
- Default Recipients。设置默认收件人,这里就可以不用输@后缀了,以Default suffix为后缀,当然如果不是该后缀输全邮箱名就可以了
EXT E-mail的优势就在于可以自定义各种东西,比如这里可以自定义邮箱的标题和内容。
这里给出一个Content模版,注意,如果这里是网页格式需要在EXT E-mail的Default Content Type里修改为HTML。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
<!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"> 大专栏 Jenkins之邮件通知 <tr> <td>(本邮件由程序自动下发,请勿回复!)</td> </tr> <tr> <td> <h2><font color="#FF0000">构建结果 - ${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> SVN_URL <td> <ul> <li>项目名称:${PROJECT_NAME}</li> <li>构建编号:${BUILD_NUMBER}</li> <li>GIT版本:${GIT_REVISION}</li> <li>触发原因:${CAUSE}</li> <li>构建日志:<a href="${BUILD_URL}console">${BUILD_URL}console</a></li> </ul> </td> </tr> <tr> <td> <b><font color="#0B610B">变更信息:</font></b> <hr size="2" width="100%" align="center" /> </td> </tr> <tr> <td> <ul> <li>上次构建成功后变化 : ${CHANGES_SINCE_LAST_SUCCESS}</a></li> </ul> </td> </tr> <tr> <td> <ul> <li>上次构建不稳定后变化 : ${CHANGES_SINCE_LAST_UNSTABLE}</a></li> </ul> </td> </tr> <tr> <td> <ul> <li>历史变更记录 : <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a></li> </ul> </td> </tr> <tr> <td> <ul> <li>变更集:${JELLY_SCRIPT,template="html"}</a></li> </ul> </td> </tr> <hr size="2" width="100%" align="center" /> </table> </body> </html>
|
使用
好了,系统设置里配置完成,只剩下使用里配置一下就可以了。在项目的设置里面,选择”增加构建后操作步骤”,再选择”Editable Email Notification”
就会出现如图设置,我们这里让它默认
然后点击最下方的Advanced Setting
可以在Triggers里设置更多的触发事件,以及设置,这里点击高级
然后在Recipient List里输入收件人,如需发送给多个人可以使用,
然后单击下方的保存,进入到项目里——立即构建。然后再查看构建的Consolo Output。观察是否发送成功。
如图表示发送成功,再去收件邮箱看是否收到邮件即可