Jenkis Editable Email Notification Plugin 使用介绍

前言

Jenkins本身提供的Email插件功能实在有限,只能提供当前Job的基本信息,比如成功、失败以及不稳定的状态给设定的接收着。我在搭建基于Jenkins+Robot framework的自动化测试平台过程中需要在每个自动化的测试Job结束后根据当前测试的结果向设定的接收着发送测试报告,要求测试报告的标题及紧急程度按照成功或者失败来确定。我的第一个想法就是使用Java的Email Libray然后在Job结束后去调用发送邮件功能,之前也一直是这么做的,但自从发现标题中的plugin后发现自己之前使用的方法好low,下面就是我对_Editable Email Notification_这个插件的使用总结。

需求描述

  1. Job启动参数在启动Job时指定,所有参数都带有默认值;
  2. Check out code from git server;
  3. Execute Automation launch shell script, this script file saved in git;
  4. The shell script will launch automation testing with parameters;
  5. Wait until automation testing finished, decide current job success or failure upon the return value return from testing process;
  6. 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 log

  • Success

    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 使用介绍的更多相关文章

  1. Jenkins错误“editable email notification aborted due to exception”的问题解决

    如果出现:“editable email notification aborted due to exception”这样的错误,尝试升级一下jenkins,估计是这个导致的. 解决思路: http: ...

  2. Jenkins邮件扩展插件Email Extension Plugin配置使用

    1.在管理插件中搜索并安装邮件扩展插件Email Extension Plugin: 2.在任务中增加构建后操作步骤,选择Editable Email Notification; 3.在高级中Add ...

  3. Jenkins学习之——(4)Email Extension Plugin插件的配置与使用

    1.先安装插件 2.配置 点击高级后 内容配置: 3.项目配置 点击Advanced Settings后 到此所有的配置都设置完成. 附录: 以下内容来自其他网友的博客,内容也没有自己去试,朋友们可以 ...

  4. Jenkins(Extended E-mail Notification)邮箱配置正确但是并没有发送邮件

    废话 近期在把之前的接口自动化demo与jenkins集成,昨天发现了邮件配置正确但是没有发送邮件的问题,通过勾选系统设置 - >Extended E-mail Notification -&g ...

  5. jenkins学习9-测试报告发邮件(Email Extension Plugin)

    前言 前面已经实现在jenkins上展示html的测试报告,接下来只差最后一步,把报告发给你的领导,展示你的劳动成果了. 安装 Email Extension Plugin 插件 jenkins首页- ...

  6. [转]com.devicepush.cordova-phonegap Device Push Notification Plugin

    本文转自:https://www.npmjs.com/package/com.devicepush.cordova-phonegap Device Push Notification Plugin D ...

  7. How to Configure Email Notification in Jenkins

    How to Configure Email Notification in Jenkins? - The Official 360logica Bloghttps://www.360logica.c ...

  8. jenkins中Email Extersion Plugin插件使用说明点

    在jenkins中使用第3方邮件插件Email Extersion Plugin时,根据网上教程,发现每次都没有生成模板 再次查看,发现 $HOME_jenkins下没有templeate文件夹,查阅 ...

  9. Jenkins Email Extension Plugin 邮件插件

    1:系统管理-管理插件-可选插件  搜索Email 可列出Email Extension Plugin插件 2:选择相应的插件点  下载并安装之后重启,等待 3:安装完后,自己去重启tomcat,先s ...

随机推荐

  1. [UWP]依赖属性2:使用依赖属性

    5. 完整的自定义依赖属性 5.1 定义 /// <summary> /// 标识 Title 依赖属性. /// </summary> public static reado ...

  2. IOS之TableViewCell重用机制解决上下刷新重复显示

    首先我是一个经验浅薄的iOS开发人员,这个问题想必许多初学者经常遇到这些问题,在面试中也会经常问到.现在我们一一解决. 首先我们要知道TableViewCell重用机制的原理是什么,我们抽象的理解为古 ...

  3. 学习笔记--jQuery基础

    学习笔记也算总结知识点,有些示例可能没有具体到元素,直接给出的语法.大家有基本理解在看可能会好些. jQuery使用前提,需要安装jQuery库 jQuery 库是一个 JavaScript 文件,您 ...

  4. TypeScript-01-变量、基本类型和运算符

    基本类型 基本类型有boolean.number.string.array.void.所有类型在TypeScript中,都是一个唯一的顶层的Any Type 类型的自类型.any关键字代表这种类型. ...

  5. jQuery_第三章_工厂函数

  6. 《剑指offer》— JavaScript(17)树的子结构

    树的子结构 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 相关知识 二叉树子结构的意思是包含了一个结点,可以只取左子树或者右子树,或者都不取.例 ...

  7. Zigbee折腾之旅:(一)CC2530最小系统

    最近在倒腾Zigbee,准备参加物联网全国大赛,学校有给我们发Zigbee开发板,但是对于喜欢折腾的我来说,用开发板还是不过瘾,起码也得知道怎么去画一块板子.于是乎,在百度一番后就有了下面这篇文章. ...

  8. netflix ribbon概述

    LB方案分类 目前主流的LB方案可分成两类:一种是集中式LB, 即在服务的消费方和提供方之间使用独立的LB设施(可以是硬件,如F5, 也可以是软件,如nginx), 由该设施负责把访问请求通过某种策略 ...

  9. [APUE]进程关系(上)

    一.终端登录 1. 4.3+BSD终端登录 系统管理员创建一个通常名为/etc/ttys的文件,其中,每个终端设备有一行,每一行说明设备名和传到getty程序的参数,这些参数说明了终端的波特率.当系统 ...

  10. eclipse+HBASE开发环境搭建(已实践)

    开发准备: jdk1.8.45 hbase-1.2.2(windows下和linux个留一份) hadoop-2.7.2(linux一份) Linux系统(centos或其它) Hadoop安装环境 ...