如何在使用Retry之后,Jenkins能够准确发送邮件的脚本
关于使用Retry之后,Jenkins能够准确发送邮件的脚本
这时候会有个问题,这个问题也困扰了我很久,就是如图,插件中的Triggers
什么问题呢?就是,我们肯定都希望在用例出错的时候向指定的联系人发送邮件,这时候问题来了,由于Triggers中现有的Trigger都是以Jenkins最终日志中的结果来判断
在这个job中,我总共只有13个用例,可是添加了retry参数之后,第一次用例执行失败,可是第二次成功了,这时候控制台中的日志就会显示多一个用例
所以在控制台最终结果中,是判断这个job中有用例失败,可是其实这个job最终结果是正常的。
这时候,由于我的Trigger是有用例失败就发送邮件,这就会造成误发邮件。
怎么解决?一开始我也走了很多弯路,有想过自己去改源码,可是由于涉及的模块东西太多,在短时间内实现实在是太困难。有天,我静下心来把思路理了一遍,突然发现,这张图
相信大家也看出来了,robot这个插件是通过什么判断的?!
我只要模仿它的判断条件去判断就行!正好在Trigger中有一个选项!!!就是
这个脚本是什么脚本?什么语法?通过什么变量判断???!!!触发的变量是什么!虽然问题很多,但是我觉得,只要这些问题解决,那么我最终的问题自然迎刃而解了!
这时候,我又发现这个东西“Groovy”,就是邮件脚本,之前DIY的时候,发现里面有很多变量,这时候我感觉不远了,果然去找这个邮件插件的文档,里面是说支持Groovy脚本。
剩下最后一个问题?怎么触发发送邮件?True Or False?自然,这个文档中也有说明。
所以问题解决了,如果最终有用例失败,就令一个变量为True,然后Return。这时候,这个Trigger就会接收到这个布尔值,从而被触发!下面上干货。
def actions = build.actions def results = false actions.each() { action -> if( action.class.simpleName.equals("RobotBuildAction") ){ if( action.result.overallFailed > 0){results = true}} } return results 原贴地址:http://www.robotframework.net/?/article/106
转载于:https://www.cnblogs.com/maxiaotu/p/8821780.html
如何在使用Retry之后,Jenkins能够准确发送邮件的脚本相关推荐
- 使用jenkins构建并发送邮件
目录 一.系统配置 二.连接构建节点 三.创建和配置Item 四.遇到的问题 一.系统配置 想要使用jenkins构建并发送邮件,首先需要进行全局配置. 1.进入jenkins概览界面->点击M ...
- jenkins + jmeter +ant 发送邮件失败
阿菠萝阿瑶 </div><!--end: blogTitle 博客的标题和副标题 --> <div id="navigator"> 博客园 首页 ...
- jenkins配置自动发送邮件,抄送
参考链接: jenkins配置自动发送邮件:https://www.cnblogs.com/gcgc/p/5631385.html 常用邮箱IMAP/POP3/SMTP 设置:https://www. ...
- jenkins 集成 docker tomcat 自动化测试脚本
最近在搞jenkins + docker CI,把自己写的集成脚本分享出来给大家.里面很多路径或者名称是我自己的,自行替换掉. #!/bin/sh # Jenkins Build Shell Scri ...
- 解决jenkins 使用ssh插件执行脚本,导致一直处于构建中无法停止
一.现象 jenkins中使用了ssh插件,远程登录服务器并执行脚本 脚本如下: #!/bin/bash pid=`ps -ef | grep python | awk '{print $2}'` k ...
- 使用Jenkins的任务自动跑脚本后发现,服务没有起来
在Jenkins的使用中,遇到过的一个场景是:在web代码更改之后,能自动的部署到测试服务器,我们写了run.sh脚本来重启服务,在使用Jenkins的任务自动跑这个脚本后发现,服务没有起来.开始以为 ...
- jenkins执行本地/远程shell脚本
1. 执行 本地 shell命令或者脚本 2. 执行远程机器的命令或者脚本. 1. 执行 本地 shell命令或者脚本 是在一个构建中的 bulid 选项卡. 执行本地中的一个脚本 执行一个命令 2 ...
- Jenkins教程(六)脚本与方法执行效果不合预期,如何及时中止pipeline
场景 使用Jenkins的流水线时,有时明明某些Python或Shell执行结果错误,但仍会继续运行下去,甚至于最终提示成功.这并不合我们的预期--出现错误及时停止.当然,还有那种小错误不影响构建的, ...
- jenkins linux 发邮件,Jenkins构建后发送邮件
我们首先安装Jenkins邮件扩展插件"Email Extension Plugin". Jenkins和插件的安装方法见上一篇文章:http://qicheng0211.blog ...
最新文章
- android 各种控件颜色值的设置(使用Drawable,Color)
- FPGA开发中全局复位置位(GSR)
- 使用cqengine进行集合检索
- deno学习一 安装试用几个问题解决
- SpringBoot https访问控制
- html post与get的区别,post 和get请求的区别(html)
- 程序员接私活的几个平台
- python list二维数组_python中的二维数组和lamda
- STM32入门(二)
- UVALive 6657 GCD XOR
- 微信小程序仿记事本,带下划线,自动换行,高度自增
- HUST1005 渊子赛马【枚举】
- php表单设置出生日期,纯JS实现出生日期[年月日]下拉菜单效果_茜茜_前端开发者...
- 电流检测电路公式推导
- 计算机如何共享手机网络,怎么把电脑网络共享给手机
- 探寻维纳控制论密码,解读“人工智能”各大学派
- C#汽车租凭(面对对象(封装、继承,多态的应用))
- 一步步读懂Pytorch Chatbot Tutorial代码(三) - 创建字典
- VB.NET学习笔记:自定义控件之扩展TEXTBOX控件——水印文字提示效果
- 利用javascript计算n阶矩阵
热门文章
- SAP Cloud for Customer的微信集成原型开发完毕后的效果示意图
- php k线 形态识别,趋势追踪,从设计交易系统开始(七)——形态识别,不只有K线...
- python如何创建问答窗口_在tkin中创建一个新的单独窗口
- 机械硬盘4k读写速度_有容乃大,18T企业级机械硬盘旗舰—希捷银河Exos X18测试...
- java getscale_Java MajorType.getScale方法代碼示例
- php地图,地图php接口
- python展示文件_python 文件操作实力显示
- linux服务器配置trunk,在Linux配置VLAN Trunk
- android文件管理器,ES文件浏览器(com.estrongs.android.pop) - 4.2.4.6.1 - 应用 - 酷安
- 将用户添加到sudoers里面,使用户拥有sudo权限