当前位置:网站首页>手把手教你配置Jenkins自动化邮件通知
手把手教你配置Jenkins自动化邮件通知
2022-07-31 01:03:00 【测试界的飘柔】
完成基于Jenkins的持续集成部署后,自动化测试执行后,测试结果需要通知到相关人员,除了钉钉通知外我们还可以通过Email通知到对应负责人,这里记录一下测试结果通过Jenkins邮件通知的配置与部署
01 安装插件
方法1: 进入Jenkins-系统管理–插件管理-可选插件,安装Email Extension Plugin和Build Timestamp插件
方法2:进入Jenkins插件下载email-ext和build-timestamp与其依赖插件,进入Jenkins-系统管理–插件管理-高级-上传插件, 上传安装
Email Extension Plugin:通过STMP协议发送电子邮件
Build Timestamp:获取构建时的时间戳并转换为指定格式 用于获取log和html测试报告名称发送邮件附件
02 SMTP介绍
SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。
SMTP认证 简单地说就是要求必须在提供了账户名和密码之后才可以登录 SMTP 服务器,这就使得那些垃圾邮件的散播者无可乘之机
STMP授权码的获取:
QQ邮箱获取授权码
163邮箱获取授权码
03 Jenkins系统配置
进入系统管理 - 系统配置
- 配置获取的时间戳格式 用于发送邮件时获取log和html报告为邮件附件
- 配置发件箱与邮件类型
- 设置默认收件、邮件标题和邮件内容
- 设置触发类型与重复发件箱配置
注:配置完成后可通过发送测试邮件是否配置正确
04 配置Job
进入Job - 配置 - 构建后操作 - -增加构建后步骤 - Editable Email Notification, 配置如下
- 配置收件人列表、邮件标题和邮件内容,可覆盖系统配置的参数
- 获取邮件附件 Log和html测试报告
- 配置是否发送构建日志为附件、发件类型和发件对象
Default Subject
【接口自动化】$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!
Default Content
<!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>本邮件由系统自动发出,无需回复!
<br/>各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</br>
<td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></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>项目URL:<a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
<li>工作目录:<a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
<li>构建URL:<a href="${BUILD_URL}">${BUILD_URL}</a></li>
<li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
<li>测试报告:<a href="${BUILD_URL}HTML_20Report/">${BUILD_URL}HTML_20Report/</a></li>
</ul>
<h4><font color="#0B610B">失败用例</font></h4>
<hr size="2" width="100%" />$FAILED_TESTS<br/>
<h4><font color="#0B610B">最近提交版本(git:$GIT_REVISION)</font></h4>
<hr size="2" width="100%" />
<ul>
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d[%a] %m</li>"}
</ul>
详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>
</td>
</tr>
</table>
</body>
</html>
05 邮件发送效果预览
最后: 可以在公众号:伤心的辣条 ! 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
现在我邀请你进入我们的软件测试学习交流群:【746506216
】,备注“入群”, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!
软件测试工程师自学教程:
这才是2022最精细的自动化测试自学教程,我把它刷了无数遍才上岸字节跳动,做到涨薪20K【值得自学软件测试的人刷】
软件测试工程师月薪2W以上薪资必学技能 — Python接口自动化框架封装.
美团面试真题_高级测试25K岗位面试 — 软件测试人都应该看看
软件测试必会_Jmeter大厂实战 — 仅6步可实现接口自动化测试
边栏推荐
- 程序员工作三年攒多少钱合适?
- Installation problem corresponding to tensorflow and GPU version
- Error occurred while trying to proxy request The project suddenly can't get up
- Why use high-defense CDN when financial, government and enterprises are attacked?
- API 网关 APISIX 在Google Cloud T2A 和 T2D 的性能测试
- Unity2D horizontal version game tutorial 4 - item collection and physical materials
- TiCDC 架构和数据同步链路解析
- 黄东旭:TiDB的优势是什么?
- 《实战》基于电商领域的词性提取及其决策树模型建模
- TiDB之rawkv升级之路v5.0.4--&gt;v6.1.0
猜你喜欢
DOM系列之动画函数封装
Summary of MySQL database interview questions (2022 latest version)
【genius_platform软件平台开发】第七十四讲:window环境下的静态库和动态库的一些使用方法(VC环境)
VS warning LNK4099: No solution found for PDB
typescript17 - function optional parameters
MySQL高级-六索引优化
297. 二叉树的序列化与反序列化
API 网关 APISIX 在Google Cloud T2A 和 T2D 的性能测试
Mini Program - Global Data Sharing
Detailed explanation of 9 common reasons for MySQL index failure
随机推荐
认识DTU什么是4GDTU设备
The difference between 4G communication module CAT1 and CAT4
WEB Security Basics - - - Vulnerability Scanner
VS warning LNK4099: No solution found for PDB
What is Promise?What is the principle of Promise?How to use Promises?
Jmeter parameter transfer method (token transfer, interface association, etc.)
【Yugong Series】July 2022 Go Teaching Course 019-For Circular Structure
[Yugong Series] July 2022 Go Teaching Course 015-Assignment Operators and Relational Operators of Operators
Thesis understanding: "Designing and training of a dual CNN for image denoising"
87. Convert String to Integer
埃拉托斯特尼筛法
Detailed explanation of 9 common reasons for MySQL index failure
DOM系列之 offset 系列
Installation problem corresponding to tensorflow and GPU version
TiCDC 架构和数据同步链路解析
Basic Parameters of RF Devices 1
Yolov7实战,实现网页端的实时目标检测
822. Walk the Grid
ShardingSphere's unsharded table configuration combat (6)
Mysql: Invalid default value for TIMESTAMP