Jenkins集成Maven项目自动化测试,不想使用自带的发送邮件的功能,使用扩展的邮件插件自动发送邮件。具体步骤如下。
1、进入Jenkins 系统管理--插件管理,下载Email Extension Plugin 插件
image.png
2、关于插件“Email Extersion Plugin”的全局配置
进入Jenkins 系统管理--系统配置,进行全局设置
image.png
这里可以配置jenkins的路径,注意:这里系统管理员邮件地址一定要配置而且必须和下面发送邮件的邮箱配置同一个邮箱!
image.png image.png
这里使用的是163邮箱,所以要SMTP服务器地址为:smtp.163.com
要勾选上使用SMTP认证,这里是输入邮箱的账号和授权码
注意:163邮箱的授权码,需要开启对应163邮箱的SMTP服务(网易163邮箱怎么开启POP3/SMTP/IMAP服务)。
Use SSL不用勾选,SMTP的默认端口号是25,SMTP SSL默认端口号是465
如果邮箱是ssl协议的,那么你要勾上使用SSL协议,比如qq邮箱就是用的ssl协议
网易163免费邮箱相关服务器信息:
163免费邮客户端设置的POP3、SMTP、IMAP地址 image.png
image.png
Default Triggers 按钮点开,选择Always
image.png
邮件配置完成,验证是否能正常发送邮件。
下面有一个 Test configuration by sending test e-mail,勾选,录入要收件人邮箱,点击Test configuration,下面可以看到Jenkins发送邮件的状态及邮件通知。
image.png
下面是收到邮件的截图。
image.png
3、关于插件“Email Extersion Plugin”的项目配置
进入Jenkins 项目的配置页面,Post-build Actions下,点击Add post-build action,选中 Editable Email Notification
image.png
image.png
image.png
Default Content内容如下
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${PROJECT_NAME}-第${BUILD_NUMBER}次构建日志</title>
</head>
<body leftmargin="8" marginwidth="0" topmargin="2" marginheight="4"
offset="0">
<table width="95%" cellpadding="0" cellspacing="0"
style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
<td>
<h2>
<font color="#0000FF">构建结果 - ${BUILD_STATUS}</font>
<br>
<font size="2">(本邮件是程序自动下发的,请勿回复!)</font>
</h2>
</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>构建日志: <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>
</ul>
<br />
</td>
</tr>
<tr>
<td>
<b>
<font color="red">Test Informations</font>
</b>
<hr size="2" width="100%" align="center" />
</td>
</tr>
<div align="left">
<table border="2" cellspacing="0" width="400">
<tr>
<th width="200px">
<font size="3">Total</font>
</th>
<th width="200px">
<font size="3">Pass</font>
</th>
<th width="200px">
<font size="3">Failed</font>
</th>
<th width="200px">
<font size="3">Skiped</font>
</th>
</tr>
<tr onmouseover="this.style.backgroundColor='#ffff66';" onmouseout="this.style.backgroundColor='#d4e3e5';">
<td align="center">
<font size="3">${TEST_COUNTS,var="total"}</font>
</td>
<td align="center">
<font size="3">${TEST_COUNTS,var="pass"}</font>
</td>
<td align="center">
<font color="red" size="3">
<b>${TEST_COUNTS,var="fail"}</b>
</font>
</td>
<td align="center">
<font size="3">${TEST_COUNTS,var="skip"}</font>
</td>
</tr>
</table>
</div>
<br />
<tr>
<td>
<br />
<b>
<font color="red" size="2"> 详细内容见测试报告:</font>
</b>
<a href="${BUILD_URL}allure">${BUILD_URL}allure</a>
</td>
</tr>
</table>
</body>
</html>
点击Add Trigger按钮,新增trigger,触发条件选择always,这样Jenkins就会每部署一次发一次邮件,SendTo设置为Recipient List,并保存。
image.png
4、返回Jenkins,项目下,点击【立即构建】,构建成功后就会收到邮件。
但是有个问题,邮件中Test Informations表格中的信息是空的,并没有显示各个类型的数据数量。
解决方案可参考文章:解决Jenkins发送测试报告中用例成功失败数量为空的问题
正常应如下:
image.png
具体Email Extension Plugin 插件配置过程中各参数的使用和说明,请参见文章
Jenkins邮件插件中的内容参数设置详解
网友评论