前段时间给公司内部项目搭建了一套接口自动化框架,基于实际使用,需要配置自动发送邮件功能,将

执行结果发送给相关负责人。Jenkins本身也提供了一个邮件通知功能,但在提供详细的邮件内容、自定义邮

件格式、自定义邮件配置等方面有一定的局限性。本文围绕Jenkins邮件插件来讲一下邮件配置,由于公司内

部保密协议,我将企业邮箱换成QQ邮箱来讲解。

安装邮箱插件

  在Jenkins主页点击Manage Plugins,选择Available,在搜索栏中输入“Email Extension”,安装即可,

我这里已经安装过,所以显示在Updates中。

开通POP3/SMTP服务

  使用QQ邮箱需要开通这个服务,后续在Jenkins邮件配置中要用到。登录QQ邮箱,点击首页的设置-账户,

验证手机号或密保来开启POP3/SMTP服务。开通后点击生成授权码,复制授权码备用。

在Jenkins中进行设置

配置Jenkins Location

配置Extended E-mail Notification

SMTP Server:smtp.qq.com
SMTP Port:465
SMTP Username:QQ邮箱地址
SMTP Password:刚刚生成的授权码
Default user E-mail suffix:@qq.com
Charset:UTF-8
Default Content Type:HTML(text/html)
Default Recipients:QQ邮箱地址

配置E-mail Notification

  填写内容和Extended E-mail Notification中一致即可,勾选Use SSL。

配置邮件通知

  进入需要配置的项目,点击configure>>>Post-build Actions,增加构建步骤Extended E-mail Notification。

  项目使用过程中,对邮件内容模板进行了更改,增加了更多需要的内容,抓取了部分执行日志。

<!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 class="table" width="1000" border="1" cellspacing="0" cellpadding="5">
<caption align="center"><h3>项目构建信息</h3></caption>
<thead>
<tr>
<th>构建项目-<b>${PROJECT_NAME}</b></th>
</tr>
</thead>
<tbody>
<tr>
<td><font color="#CC0000"><b>构建结果 - ${BUILD_STATUS}</b></font></td>
</tr>
<tr>
<td>测试数量-${TEST_COUNTS, var="total"}</td>
</tr>
</tbody>
<tr>
本邮件由系统自动发出,无需回复!<br/>
各位同事,大家好,以下为${PROJECT_NAME}项目构建信息</br>
</tr> <tr>
<td><br/>
<b><font color="#0B610B">构建报告</font></b>
<hr size="2" width="100%" align="center"/>
<ul>
<li>构建报告:<a href="${BUILD_URL}allure/">${PROJECT_URL}allure/</li>
</ul>
</td>
</tr>
<tr>
<td><br/>
<b><font color="#0B610B">构建信息</font></b>
<hr size="2" width="100%" align="center"/>
<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>
</ul>
</td>
</tr>
<tr>
<td>
<b><font color="#0B610B">构建详细信息</font></b>
<hr size="2" width="100%" align="center"/>
<ul>
<li>BRANCH_NAME: ${BRANCH_NAME}</li>
<li>CHANGE_ID: ${CHANGE_ID}</li>
<li>CHANGE_URL: ${CHANGE_URL}</li>
<li>CHANGE_TITLE: ${CHANGE_TITLE}</li>
<li>CHANGE_AUTHOR: ${CHANGE_AUTHOR}</li>
<li>CHANGE_AUTHOR_DISPLAY_NAME: ${CHANGE_AUTHOR_DISPLAY_NAME}</li>
<li>CHANGE_AUTHOR_EMAIL: ${CHANGE_AUTHOR_EMAIL}</li>
<li>CHANGE_TARGET: ${CHANGE_TARGET}</li>
<li>BUILD_NUMBER: ${BUILD_NUMBER}</li>
<li>BUILD_DISPLAY_NAME: ${BUILD_DISPLAY_NAME}</li>
<li>BUILD_ID: ${BUILD_ID}</li>
<li>JOB_NAME: ${JOB_NAME}</li>
<li>JOB_BASE_NAME: ${JOB_BASE_NAME}</li>
<li>BUILD_TAG: ${BUILD_TAG}</li>
<li>EXECUTOR_NUMBER: ${EXECUTOR_NUMBER}</li>
<li>NODE_NAME: ${NODE_NAME}</li>
<li>NODE_LABELS: ${NODE_LABELS}</li>
<li>WORKSPACE: ${WORKSPACE}</li>
<li>JENKINS_HOME: ${JENKINS_HOME}</li>
<li>JENKINS_URL: ${JENKINS_URL}</li>
<li>BUILD_URL: ${BUILD_URL}</li>
<li>JOB_URL: ${JOB_URL}</li>
<li>GIT_COMMIT: ${GIT_COMMIT}</li>
<li>GIT_PREVIOUS_COMMIT: ${GIT_PREVIOUS_COMMIT}</li>
<li>GIT_PREVIOUS_SUCCESSFUL_COMMIT: ${GIT_PREVIOUS_SUCCESSFUL_COMMIT}</li>
<li>GIT_BRANCH: ${GIT_BRANCH}</li>
<li>GIT_LOCAL_BRANCH: ${GIT_LOCAL_BRANCH}</li>
<li>GIT_URL: ${GIT_URL}</li>
<li>GIT_COMMITTER_NAME: ${GIT_COMMITTER_NAME}</li>
<li>GIT_AUTHOR_NAME: ${GIT_AUTHOR_NAME}</li>
<li>GIT_COMMITTER_EMAIL: ${GIT_COMMITTER_EMAIL}</li>
<li>GIT_AUTHOR_EMAIL: ${GIT_AUTHOR_EMAIL}</li>
<li>MERCURIAL_REVISION: ${MERCURIAL_REVISION}</li>
<li>MERCURIAL_REVISION_SHORT: ${MERCURIAL_REVISION_SHORT}</li>
<li>MERCURIAL_REVISION_NUMBER: ${MERCURIAL_REVISION_NUMBER}</li>
<li>MERCURIAL_REVISION_BRANCH: ${MERCURIAL_REVISION_BRANCH}</li>
<li>MERCURIAL_REPOSITORY_URL: ${MERCURIAL_REPOSITORY_URL}</li>
<li>SVN_REVISION: ${SVN_REVISION}</li>
<li>SVN_URL: ${SVN_URL}</li>
</ul>
</td>
</tr>
<tr>
<td>
<h4><font color="#0B610B">失败用例</font></h4>
${FAILED_TESTS}<br/>
</td>
</tr> <tr>
<td>
<h4><font color="#0B610B">最近提交(#$GIT_REVISION)</font></h4>
<!--
<ul>
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="
<li>%d [%a] %m</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, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
</li>
</ul>
</td>
</tr>
<tr>
<td>
<ul>
<li>上次构建不稳定后变化 : ${CHANGES_SINCE_LAST_UNSTABLE, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
</li>
</ul>
</td>
<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"}</li>
</ul>
</td>
</tr>
<tr>
<td><b><font color="#0B610B">构建日志 (最后 200行):</font></b>
<hr size="2" width="100%" align="center"/>
</td>
</tr>
<tr>
<td><textarea cols="120" rows="30" readonly="readonly"
style="font-family: Courier New">${BUILD_LOG, maxLines=200}</textarea>
</td>
</tr>
</table>
</body>
</html>

测试构建邮件

  相关的配置都完成后,在Jenkins配置界面勾选"Test configuration by sending test e-mail",发送测试邮件。

Jmeter+Ant+Jenkins接口自动化框架(续)的更多相关文章

  1. Jmeter+ant+Jenkins接口自动化框架搭建

    摘自:https://testerhome.com/topics/13389 一.背景  上一篇讲了Jmeter 接口自动化-脚本数据分离实例,我们知道怎么利用Jmeter去编写接口自动化脚本,但是接 ...

  2. Jmeter+Ant+Jenkins接口自动化框架

    最近应公司要求,搭建一套接口自动化环境.看到通知邮件,没有多想就确定了Jmeter路线.可能有些人会 说,为啥不用python,相对而言高大上一些.因为公司内部现在项目有用到Jmeter,正好可以结合 ...

  3. Centos7.x jmeter + ant + jenkins接口自动化框架部署

    一.基础环境准备 1.jmeter安装(之前文章有介绍过) 2.ant安装 · 官网下载:https://ant.apache.org/bindownload.cgi · 上传服务器,执行 tar - ...

  4. Jmeter+Ant+Jenkins 接口自动化之简单demo

    之前的文章我们已经分享过了 Jmeter+Ant 的批量执行 ,并且搭建好了Jenkins部署平台,如何再将三者完美结合呢? 1.首先打开Jenkins主页面,进入“系统管理-插件管理”,安装相关的插 ...

  5. Jmeter+Ant+Jenkins接口自动化测试框架搭建

    前言 软件开发的V模型大家都不陌生,其中测试阶段分为单元测试→功能测试→系统测试→验收测试.其中单元测试一般由开发同学们自己完成,大部分测试具体实施(这里不包括用例设计)是从单体功能测试开始着手的. ...

  6. Jmeter+Ant+Jenkins接口自动化持续集成环境搭建(Linux)

    一.安装说明 系统环境:CentOS release 6.4 JDK版本:jdk1.8.0_181 Jmeter版本:apache-jmeter-3.0 Ant版本:apache-ant-1.9.13 ...

  7. jmeter+ant+jenkins接口自动化测试框架

    大致思路:Jmeter可以做接口测试,也能做压力测试,而且是开源软件:Ant是基于Java的构建工具,完成脚本执行并收集结果生成报告,可以跨平台,Jenkins是持续集成工具.将这三者结合起来可以搭建 ...

  8. jmeter+ant+jenkins接口自动化环境搭建

    一.准备   1.安装jdk  --->点击查看安装教程 2.安装jmeter  ,官网下载jmeter解压,配置jmeter环境: JMETER_HOME (解压jdk路径) Path (;% ...

  9. Python+Pytest+Allure+Git+Jenkins接口自动化框架

    Python+Pytest+Allure+Git+Jenkins接口自动化框架 一.接口基础 接口测试是对系统和组件之间的接口进行测试,主要是效验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系. ...

  10. jmeter+ant+jenkins实现自动化接口测试

    一.安装前准备 1.JDK:jdk-8u121-windows-x64 2.jmeter工具:apache-jmeter-2.13 3.ANT工具:apache-ant-1.9.7-bin 4.jen ...

随机推荐

  1. Django4全栈进阶之路15 项目实战(用户管理):login.html登录画面设计

    要编写登录页面,我们需要完成以下步骤: template文件夹中创建 login.html 模板文件,输入以下 HTML 代码: {% extends 'base.html' %} {% block ...

  2. Django-4:运行runserver

    Djnago运行.启动 命令:python manage.py runserver 端口号 例如:当前有个项目为ClosedLoop,如果要启动它就进入项目环境,或者直接在PyCharm的终端中运行命 ...

  3. Vue全局公共服务类mixin

    首先,简单介绍下mixin: Mixin是面向对象程序设计语言中的类,提供了方法的实现.其他类可以访问mixin类的方法而不必成为其子类 Mixin类通常作为功能模块使用,在需要该功能时"混 ...

  4. 【源码解读】asp.net core源码启动流程精细解读

    引言 core出来至今,已经7年了,我接触也已经4年了,从开始的2.1,2.2,3.1,5,6再到如今的7,一直都有再用,虽然我是一个Winform仔,但是源码一直从3.1到7都有再看,然后在QQ上面 ...

  5. SpringMVC 解决中文乱码问题以及前后端Json格式数据交互的测试

    1.今日遇到的报错: 跳转网页出现404原因: 1.检查project structure里面的webapp路径是否正确: 2.检查project structure里的artifaccts里的WEB ...

  6. Nodejs 应用编译构建提速建议

    编译构建的整体过程 拉取编译镜像 拉取缓存镜像 拉取项目源码 挂载缓存目录 执行编译命令(用户自定义) 持久化缓存 上传编译镜像 为什么在本地构建就快, 但编译机上很慢 在编辑机上每次的构建环境都是全 ...

  7. iOS中容易用错的常用知识点

    坐标系转换 ios中的坐标系有三种 视图坐标系:原点(0,0)视图的左上角 窗口坐标系:原点(0,0)窗口的左上角 世界坐标系:原点(0,0)游戏中世界的原点 平时开发中经常会遇到转UIWindow坐 ...

  8. 【一步步开发AI运动小程序】十一、人体关键点跳跃追踪

    随着人工智能技术的不断发展,阿里体育等IT大厂,推出的"乐动力"."天天跳绳"AI运动APP,让云上运动会.线上运动会.健身打卡.AI体育指导等概念空前火热.那 ...

  9. 二维数组初始化vector, 以及类型转换问题

    //二维数组的初始化1 vector<vector<float>> _box_parm(class_row_num, vector<float>(class_col ...

  10. 前端Vue自定义服务说明弹窗弹框 自下而上底部弹框

    前端Vue自定义服务说明弹窗弹框 自下而上底部弹框, 请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=13108 效果图如下: cc-serv ...