Jenkins使用之邮件模板配置

2020/03/16 12:15
阅读数 2.4K
Jenkins默认提供了一个邮件通知,能在构建失败、构建不稳定等状态后发送邮件。但是它本身有很多局限性,比如它的邮件通知无法提供详细的邮件内容、无法定义发送邮件的格式、无法定义灵活的邮件接收配置等。为解决这些问题,我们将使用 Email Extension 插件。该插件可以自定义邮件通知,如在发送邮件时自定义发送给谁以及具体内容等。本文主要对jenkins的邮件模板配置及通知进行介绍。


一、安装 Email Extension  插件

系统管理->插件管理,这里安装插件“Email Extension”用于设置邮件模板。

二、配置系统默认邮件参数

(一)内置的Jenkins 邮件服务器配置

  1. 系统管理-系统设置,先设置发件人的邮件,切记:一定要设置,且在系统管理员那个地方设置的email地址要和email配置的相同。

    2. 系统管理-系统设置,再设置全局设置

设置完成后,可以勾选 “通过发送测试邮件配置” 测试此配置能否连通。

(二)Extended E-mail Notification 设置

    1. 系统管理-系统设置,先设置全局:

详细参数说明如下:

 Override Global Settings:如果不选,该插件将使用默认的E-mail Notification通知选项。反之,可以通过指定不同于的设置来进行覆盖。 Default Content Type:指定构建后发送邮件内容的类型,有Text和HTML两种。 Use List-ID Email Header:为所有的邮件设置一个List-ID的邮件信头。 Add 'Precedence: bulk' Email Header:设置优先级。 Default Recipients:自定义默认电子邮件收件人列表。 Reply To List:回复列表。 Emergency reroute:如果这个字段不为空,所有的电子邮件将被单独发送到该地址(或地址列表)。 Excluded Committers:防止邮件被邮件系统认为是垃圾邮件,邮件列表应该没有扩展的账户名(如:@domain.com),并且使用逗号分隔。 Default Subject:自定义邮件通知的默认主题名称。该选项能在邮件的主题字段中替换一些参数,这样就可以在构建中包含指定的输出信息。 Maximum Attachment Size:邮件最大附件大小。 Default Content:自定义邮件通知的默认内容主体。该选项能在邮件的内容中替换一些参数,这样就可以在构建中包含指定的输出信息。 Default Pre-send Script:默认发送前执行的脚本。 Enable Debug Mode:启用插件的调试模式。 nable Security:启用时,会禁用发送脚本的能力,直接进入Jenkins实例。如果用户试图访问Jenkins管理对象实例,将抛出一个安全异常。 Content Token Reference:邮件中可以使用的变量,所有的变量都是可选的。

三、配置邮件模板

1.  安装插件:

Config File Provider:提供文件的存储插件。

Pipeline Utility Steps:提供文件的读写的插件。

2.  添加模板文件

系统管理->Managed files->Add a new Config

选择“Extended Email Publisher Groovy Template”类型,然后添加邮件模板。

Default Subject

构建通知:${BUILD_STATUS} - ${PROJECT_NAME} - Build # ${BUILD_NUMBER} !

Default Content(根据实际情况填写 SonarQube和代码覆盖率结果

<!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>以下为${PROJECT_NAME }项目构建信息</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>触发原因:${CAUSE}</li>                      <li>构建状态:${BUILD_STATUS}</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>                     <li>SonarQube结果:http://sonar****** </li>                    <li>代码覆盖率结果:http://**/job/${PROJECT_NAME}/${BUILD_NUMBER}/jacoco/  </li>                   </ul>              </td>          </tr>          <tr>            <td><b><font color="#0B610B">历史变更记录:</font></b>            <hr size="2" width="100%" align="center" /></td>        </tr>        <tr>            <td>                ${CHANGES_SINCE_LAST_SUCCESS,reverse=true, format="Changes for Build #%n:<br />%c<br />",showPaths=true,changesFormat="<pre>[%a]<br />%m</pre>",pathFormat="&nbsp;&nbsp;&nbsp;&nbsp;%p"}            </td>        </tr>    </table>  </body>  </html>
  • body:邮件内容

  • subject:邮件主题

  • to:指定邮件接收者

  • attachLog:附加构建日志信息到附件中

  • recipientProviders:设置邮件接收者


四、测试发送模板邮件

Pipeline脚本内容,可以在jenkins中填入也可以写在项目脚本中进行调用。查看邮件,如下:



本文分享自微信公众号 - 搜狗测试(SogouQA)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部