Jenkins默认提供了一个邮件通知,能在构建失败、构建不稳定等状态后发送邮件。但是它本身有很多局限性,比如它的邮件通知无法提供详细的邮件内容、无法定义发送邮件的格式、无法定义灵活的邮件接收配置等等。而Jenkins Email Extension Plugin插件允许你自定义邮件通知,比如在发送邮件时你可以自定义发送给谁,发送具体什么内容等等。插件安装请参考上篇博文。
创新互联公司专业为企业提供裕华网站建设、裕华做网站、裕华网站设计、裕华网站制作等企业网站建设、网页设计与制作、裕华企业网站模板建站服务,十载裕华做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。1.默认邮件通知设置Jenkins的系统设置里,先找到Jenkins Location位置。
Jenkins URL:就是jenkins登录地址
系统管理员邮件地址:就是邮件发件人
根据情况填写即可。可以用自建邮件发送服务,也可以用第三方邮件服务,只要填写相应的信息。本人采用的是自建邮件发送服务。
注意:系统管理员邮件地址必须和SMTP的发件地址一致,不然会报错的。
2 .邮件扩展插件设置主要包含两个部分:全局配置和项目配置。
2.1 全局配置找到 “Extended E-mail Notification”的位置,你就能配置一些全局的email-ext属性。
插件版本的不同个别选项不一样。根据信息填写,和默认邮件通知的信息类似,此插件可以完全替换默认的邮件通知。
参考网上的一个配置
Default Subject:构建通知:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!
Default Content:
(本邮件是程序自动下发的,请勿回复!)
项目名称:$PROJECT_NAME
构建编号:$BUILD_NUMBER
svn版本号:${SVN_REVISION}
构建状态:$BUILD_STATUS
触发原因:${CAUSE}
构建日志地址:${BUILD_URL}console
构建地址:$BUILD_URL
变更集:${JELLY_SCRIPT,template="html"}
另外附上一个不错的模板
Default Subject: 构建通知:${BUILD_STATUS} - ${PROJECT_NAME} - Build # ${BUILD_NUMBER} ! Default Content:${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志
(本邮件是程序自动下发的,请勿回复!) |
构建结果 - ${BUILD_STATUS} |
构建信息 |
|
Changes Since Last
Successful Build:
|
%c ",showPaths=true,changesFormat=" [%a]",pathFormat=" %p"} |
Failed Test Results
|
$FAILED_TESTS |
构建日志 (最后 100行):
|
当插件激活后你就能编辑如下字段(只列出常用的字段):
Project Recipient List:这是一个以逗号(或者空格)分隔的收件人邮件的邮箱地址列表。允许您为每封邮件指定单独的列表。Ps:如果你想在默认收件人的基础上添加收件人:$DEFAULT_RECIPIENTS,<新的收件人>
Default Subject:允许你配置此项目邮件的主题。
Default Content:跟Default Subject的作用一样,但是是替换邮件内容。
Attach Build Log:附件构建日志。
Compress Build Log before sending:发送前压缩生成日志(zip格式)。
要查看插件的高级配置,请点击”高级”按钮。该选项允许您各种类型的邮件触发器指定接收者。默认情况下,是没有配置的触发器,所以默认情况下不会发送邮件。要增加更多的触发器,选择“Add a Trigger”旁边下拉列表中的类型(如下图) ,增加触发器之后,会增加相应的选项框,可以在上面配置邮件发送给谁。
Send to Recipient List:如果勾选,邮件将发送到”Project Recipient List”中的所有邮件地址。
Send to Committers:该邮件会发给上次构建时检查过代码的人员,该插件会基于提交者的ID和追加Jenkins配置页面的(default email suffix)默认邮件后缀来生成一个邮件地址。譬如,上次提交代码的人是”first.last”, 默认的电子邮件后缀为“@somewhere.com”,那么电子邮件将被发送到“first.last@ somewhere.com”。
Send To Requester:如果勾选,邮件将发送给构建触发者。
Include Culprits:如果勾选,而且 “Send To Committers”勾选,邮件将包含最后成功构建的提交者。
More Configuration:通过单击高级能为每个邮件触发器作更多单独的设置。
Recipient List:这是一个以逗号(或者空格)分隔的可接受邮件的邮箱地址列表。如果触发就发送邮件到该列表。该列表会追加在”Global Recipient List”里。
Subject:指定选择邮件的主题。注意:高级选项中的邮件触发器类型可覆盖对它的配置。
Content:指定选择邮件的内容主体。注意:高级选项中的邮件触发器类型可覆盖对它的配置。
Remove通过单击指定触发器当前行的”Delete”按钮,你可以删除该触发器。
注意:所有的触发器都只能配置一次。
Failure:即时发送构建失败的邮件。如果”Still Failing”触发器已配置,而上一次构建的状态是”Failure”,那么”Still Failing”触发器将发送一封邮件来替代(它)。
Unstable:即时发送构建不稳固的邮件。如果”Still Unstable”触发器已配置,而上一次构建的状态是”Unstable”,那么”Still Unstable”触发器将发送一封邮件来替代(它)。
Still Failing:如果两次或两次以上连续构建的状态为”Failure”,发送该邮件。
Success:如果构建的状态为”Successful”发送邮件。如果”Fixed”已配置,而上次构建的状态为“Failure”或“Unstable”,那么”Fixed”触发器将发送一封邮件来替代(它)。
Fixed:当构建状态从“Failure”或“Unstable”变为”Successful”时发送邮件。
Still Unstable:如果两次或两次以上连续构建的状态为” Unstable “,发送该邮件。
Before Build:当构建开始时发送邮件。
注意:这里只解释全局配置页面中缺少的变量。
${DEFAULT_SUBJECT}:这是Jenkins系统配置页面默认配置的邮件主题
${DEFAULT_CONTENT}:这是Jenkins系统配置页面默认配置的邮件内容主体
${PROJECT_DEFAULT_SUBJECT}:这是项目的默认邮件主题。高级配置中使用该令牌的结果要优先于Default Subject字段。警告:不要在Default Subject 或者Default Content中使用该令牌,它会产生一个未知的结果。
${PROJECT_DEFAULT_CONTENT}:这是项目的默认邮件内容主体。高级配置中使用该令牌的结果要优先于Default Content字段。警告:不要在Default Subject 或者Default Content中使用该令牌,它会产生一个未知的结果。
附上邮件通知截图
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款