Jenkis Editable Email Notification Plugin 使用介绍
Jenkis Editable Email Notification Plugin 使用介绍
前言
Jenkins本身提供的Email插件功能实在有限,只能提供当前Job的基本信息,比如成功、失败以及不稳定的状态给设定的接收着。我在搭建基于Jenkins+Robot framework的自动化测试平台过程中需要在每个自动化的测试Job结束后根据当前测试的结果向设定的接收着发送测试报告,要求测试报告的标题及紧急程度按照成功或者失败来确定。我的第一个想法就是使用Java的Email Libray然后在Job结束后去调用发送邮件功能,之前也一直是这么做的,但自从发现标题中的plugin后发现自己之前使用的方法好low,下面就是我对_Editable Email Notification_这个插件的使用总结。
需求描述
- Job启动参数在启动Job时指定,所有参数都带有默认值;
- Check out code from git server;
- Execute Automation launch shell script, this script file saved in git;
- The shell script will launch automation testing with parameters;
- Wait until automation testing finished, decide current job success or failure upon the return value return from testing process;
- Send success or failure Email notification to receivers decided by job execute status.
插件主要设置参数描述
下面主要介绍了Email插件中主要参数的设置,由于本人的Jenkins为英文版,所以参数全部为英文,请使用中文的朋友自行对应设置即可。
Content Type: Both HTML and Plain Text
在邮件的正文中要插入HTML代码,所以在Content Type中要选择支持HTML和富文本
Attach Build Log: Do Not Attach Build Log
在邮件的附件中需要携带automation的详细report,所以不需要带Job本身的log信息
Pre-send Script:
// 下面所有的代码都会被执行到,只能支持Java内置的Library,使用之前一定要import
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.mail.internet.InternetAddress;
//设置邮件的Subject,发件人以及发件人的Email Address,这边地址可以设置一个根本不存在的以避免骚扰
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String subject= "Automation Report (" + sdf.format(new Date()) +")";
String personalSender = "Automation Team"
String emailAddress = "do.not.reply@your_company.com"
/**
build是一个内置变量,得到当前job的执行状态。点击右边的问号查看支持的内置变量
如果job失败则将当前邮件的重要性,优先级都设置为最高以优先投递
**/
if( build.result.toString().equalsIgnoreCase("FAILURE") )
{
msg.addHeader("Importance", "High");
msg.addHeader("X-Priority", "1 (Highest)");
subject = "[Failed]" + subject;
}else{
subject = "[Passed]" + subject;
}
// 内置变量,设置邮件的Subject
msg.setSubject(subject);
/**Set sender**/
InternetAddress address = new InternetAddress();
try
{
address.setPersonal(personalSender);
}
catch (UnsupportedEncodingException e)
{
e.printStackTrace();
}
address.setAddress(emailAddress);
msg.setSender(address);
Triggers
这个下面的设置直接决定了你的邮件触发的条件,你可以根据具体的情况设置自己的触发条件,我使用了两个:Failure - Any 和 Success。
Failure - Any
Recipient List: 设置失败的时候你的收件人列表,支持变量。一般失败的时候我都会抄送老板~
Content Type: HTML (text/html)
Content: 这里面设置要发送的邮件正文模版,支持变量。可以点击右侧的问号来查看支持的内置变量。如果需要插入HTML格式的文件到正文,语法格式类似于:${FILE, path="${REPORT_SUMMARY}"}
Attachments: 要添加到附件中的文件,支持变量,多个文件使用逗号分割
Attach Build Log:不需要在附件中携带build logSuccess
Recipient List: 设置失败的时候你的收件人列表,支持变量。
Content Type: HTML (text/html)
Content: 这里面设置要发送的邮件正文模版,支持变量。可以点击右侧的问号来查看支持的内置变量.如果需要插入HTML格式的文件到正文,语法格式类似于:${FILE, path="${REPORT_SUMMARY}"}
Attachments: 要添加到附件中的文件,支持变量,多个文件使用逗号分割
Attach Build Log:不需要在附件中携带build log
总结
本文介绍了Jenkins插件Editable Email Notification的一个使用场景,这个插件极大的扩展了内置Email的功能。如果有任何问题欢迎留言或者发送邮件到我的邮箱:
Rush的邮箱
Jenkis Editable Email Notification Plugin 使用介绍的更多相关文章
- Jenkins错误“editable email notification aborted due to exception”的问题解决
如果出现:“editable email notification aborted due to exception”这样的错误,尝试升级一下jenkins,估计是这个导致的. 解决思路: http: ...
- Jenkins邮件扩展插件Email Extension Plugin配置使用
1.在管理插件中搜索并安装邮件扩展插件Email Extension Plugin: 2.在任务中增加构建后操作步骤,选择Editable Email Notification; 3.在高级中Add ...
- Jenkins学习之——(4)Email Extension Plugin插件的配置与使用
1.先安装插件 2.配置 点击高级后 内容配置: 3.项目配置 点击Advanced Settings后 到此所有的配置都设置完成. 附录: 以下内容来自其他网友的博客,内容也没有自己去试,朋友们可以 ...
- Jenkins(Extended E-mail Notification)邮箱配置正确但是并没有发送邮件
废话 近期在把之前的接口自动化demo与jenkins集成,昨天发现了邮件配置正确但是没有发送邮件的问题,通过勾选系统设置 - >Extended E-mail Notification -&g ...
- jenkins学习9-测试报告发邮件(Email Extension Plugin)
前言 前面已经实现在jenkins上展示html的测试报告,接下来只差最后一步,把报告发给你的领导,展示你的劳动成果了. 安装 Email Extension Plugin 插件 jenkins首页- ...
- [转]com.devicepush.cordova-phonegap Device Push Notification Plugin
本文转自:https://www.npmjs.com/package/com.devicepush.cordova-phonegap Device Push Notification Plugin D ...
- How to Configure Email Notification in Jenkins
How to Configure Email Notification in Jenkins? - The Official 360logica Bloghttps://www.360logica.c ...
- jenkins中Email Extersion Plugin插件使用说明点
在jenkins中使用第3方邮件插件Email Extersion Plugin时,根据网上教程,发现每次都没有生成模板 再次查看,发现 $HOME_jenkins下没有templeate文件夹,查阅 ...
- Jenkins Email Extension Plugin 邮件插件
1:系统管理-管理插件-可选插件 搜索Email 可列出Email Extension Plugin插件 2:选择相应的插件点 下载并安装之后重启,等待 3:安装完后,自己去重启tomcat,先s ...
随机推荐
- 一个想法(续五):IT联盟创业计划:现阶段进度公示、疑问解答及进行中的计划
前言: 首先今天是元宵节,先祝大伙元宵节快,单纯的快乐! 然后看看开展中的计划: IT联盟创业计划众筹发起:一个想法(续三):一份IT技术联盟创业计划书,开启众筹创业征程 IT联盟创业计划众筹进度:一 ...
- windows下vue+webpack前端开发环境搭建及nginx部署
一.开发环境搭建 1.前端框架一般都依赖nodejs,我们首先要安装node.js.请参考http://www.cnblogs.com/wuac/p/6381819.html. 2.由于许多npm的源 ...
- Android之RecyclerView轻松实现下拉刷新和加载更多
今天研究了下RecyclerView的滑动事件,特别是下拉刷新和加载更多事件,在现在几乎所有的APP显示数据列表时都用到了.自定义RecyclerView下拉刷新和加载更多听上去很复杂,实际上并不难, ...
- Linux输入子系统(一) _驱动编码
输入设备都有共性:中断驱动+字符IO,基于分层的思想,Linux内核将这些设备的公有的部分提取出来,基于cdev提供接口,设计了输入子系统,所有使用输入子系统构建的设备都使用主设备号13,同时输入子系 ...
- 【原创】python中文编码问题深入分析(二):print打印中文异常及显示乱码问题分析与解决
在学习python以及在使用python进行项目开发的过程中,经常会使用print语句打印一些调试信息,这些调试信息中往往会包含中文,如果你使用python版本是python2.7,或许你也会遇到和我 ...
- vue生命周期的介绍
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- [NOI2007]货币兑换Cash(DP+动态凸包)
第一次打动态凸包维护dp,感觉学到了超级多的东西. 首先,set是如此的好用!!!可以通过控制一个flag来实现两种查询,维护凸包和查找斜率k 不过就是重载运算符和一些细节方面有些恶心,90行解决 后 ...
- WP8.1开发中找程序下的Assets文件夹
这俩天在开发另一个程序时,遇到一个小问题:如何调用程序下的Assets文件夹及其下的文件和文件夹: 在网上找了两天,基本上是关于如何调用手机中库的方法,没找到有关介绍如何调用查找 编译前添加图片或其它 ...
- DOM操作表格——HTML DOM
html创建表格: <table berder='1' width='300'> <thead> <tr> <th>姓名</th> < ...
- 深入浅出Redis-Spring整合Redis
概述: 在之前的博客中,有提到过Redis 在服务端的一些相关知识,今天主要讲一下Java 整合Redis的相关内容. 下面是Jedis 的相关依赖: <dependency> <g ...