当前位置:网站首页>一文2500字手把手教你配置Jenkins自动化邮件通知
一文2500字手把手教你配置Jenkins自动化邮件通知
2022-07-30 19:44: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系统配置
进入系统管理 - 系统配置
1. 配置获取的时间戳格式 用于发送邮件时获取log和html报告为邮件附件

2. 配置发件箱与邮件类型

3. 设置默认收件、邮件标题和邮件内容

4. 设置触发类型与重复发件箱配置

注:配置完成后可通过发送测试邮件是否配置正确
04、配置Job
进入Job - 配置 - 构建后操作 - -增加构建后步骤 - Editable Email Notification, 配置如下
1. 配置收件人列表、邮件标题和邮件内容,可覆盖系统配置的参数

2. 获取邮件附件 Log和html测试报告

3. 配置是否发送构建日志为附件、发件类型和发件对象

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、邮件发送效果预览



学习资源分享
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….
如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入下方我的qq群大家一起讨论交流,里面也有各种软件测试资料和技术交流。
边栏推荐
- MySQl数据库————DQL数据查询语言
- 第十七届“振兴杯”全国青年 职业技能大赛——计算机程序设计员(云计算平台与运维)参赛回顾与总结
- MindSpore:对image作normalize的目的是什么?
- MindSpore:自定义dataset的tensor问题
- Different lower_case_table_names settings for server (‘1‘) and data dictionary (‘0‘) 解决方案
- 055 c# print
- 【私人系列】日常PHP遇到的各种稀奇古怪的问题
- coming!Dongfang Selection brings goods to the live broadcast of Longjiang agricultural products
- Zabbix 5.0 Monitoring Tutorial (1)
- MySQL database master-slave configuration
猜你喜欢

Linux download and install mysql5.7 version tutorial the most complete and detailed explanation

MySQL eight-part text recitation version

SimpleOSS third-party library libcurl and engine libcurl error solution

Cesium loads offline maps and offline terrain

Linux下最新版MySQL 8.0的下载与安装(详细步骤)

MySQL six-pulse sword, SQL customs clearance summary
Typora设置标题自动标号

MySQL mass production of data
![[Node implements data encryption]](/img/8b/f9ff44c39fc9e80b2f2d2626a74076.png)
[Node implements data encryption]

How to install and use PostgreSQL 14.4
随机推荐
How architects grow
MySQL database - views and indexes
Entering the applet for the first time
Linux下载安装mysql5.7版本教程最全详解
Snowflake vs. Redshift的2022战报:两个数据平台谁更适合你?
Talking about Contrastive Learning (Contrastive Learning) the first bullet
LeetCode 0952.按公因数计算最大组件大小:建图 / 并查集
MindSpore:对image作normalize的目的是什么?
【无标题】多集嵌套集合使不再有MultipleBagFetchException
Swift简介
湖仓一体电商项目(四):项目数据种类与采集
Is the iPhone really thirteen incense?The two generations of products are completely compared, perhaps the previous generation is more worth buying
MySQL eight-part text recitation version
MindSpore:npu 多卡训练自定义数据集如何给不同npu传递不同数据
mysql慢查询优化
MySQL复制表结构、表数据的方法
MindSpore:【模型训练】【mindinsight】timeline的时间和实际用时相差很远
After watching "Second Uncle", I was even more internalized
JUnit 5测试中的临时目录(附实例及代码)
Zabbix 5.0 Monitoring Tutorial (1)