上一篇里讲了 Jenkins 配置,但是我觉得如果能在邮件里直接查看 Jenkins 的运行日志和测试报告就好了,于是上网找了资料优化了一下。Jenkins 的 Editable Email Notification 插件提供了附件功能,但是这里只能填相对路径,即只能附加该项目的工作空间目录下的文件
邮件附件发送测试报告
因为我之前的设置,生成的测试报告并不在工作空间下,于是需要修改一下,顺便记录下来以后修改也怕遗漏
0. 先查看一下你的工作空间路径
1. 修改 build.xml 文件中报告生成的路径
2. 修改 Jenkins 任务中的 html 和 jtl 文件路径,和上面的路径对应
3. 修改完以后执行一遍看是否在对应目录下生成了测试报告
4. 现在已经确保测试报告在工作空间目录下了,接下来设置附件的路径
5. 运行一下看看邮件
6. 文章末尾提供一个我在网上找到的邮件模板, 内容比较详细, 并且设置了可以直接在邮箱里查看日志
设置钉钉提醒
0. 这部分和邮件提醒没什么关系, 就是搜索资料的时候看见这个功能了, 很简单, 就顺手加上了 1. 在钉钉群里面添加机器人, 选择自定义
2.Jenkins 里面添加钉钉插件
3.Jenkins 任务里添加 post-build action, 选择钉钉通知器配置, 把刚才钉钉机器人里的 access token 黏贴到这里, 这里只需要 token 即可, 不要把整个链接黏贴进去
附: build.xml
<!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=”#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>SVN 路径:${SVN_URL}</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> 测试报告:<a href=”D:/apache-jmeter-5.1.1/extras/report/html/TestReport${BUILD_TIMESTAMP}.html”>
D:/apache-jmeter-5.1.1/extras/report/html/TestReport${BUILD_TIMESTAMP}.html</a><br/><hr/></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>
<tr>
<td>
<b><font color=”#0B610B”>Failed Test Results</font></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=”${space}\${PROJECT_NAME}\builds\${BUILD_NUMBER}\log”>${space}\${PROJECT_NAME}\builds\${BUILD_NUMBER}\log</a>
<br />
<br />
</td>
</tr>
<tr>
<td>
<textarea cols=”80″ rows=”30″ readonly=”readonly” style=”font-family: Courier New”>${BUILD_LOG, maxLines=100,escapeHtml=true}</textarea>
</td>
</tr>
<hr size=”2″ width=”100%” align=”center” />
</table>
</body>
</html>