Jenkins使用之邮件模板配置

发表于:2020-3-17 10:51

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:小小    来源:搜狗测试

  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中填入也可以写在项目脚本中进行调用。查看邮件,如下:

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号