配置前要注意的点:

  先安装插件:set build description

  安装该插件后,在【Post-build Actions】栏目中会多出description setter功能,可以实现构建完成后设置当次build的描述信息。这个描述信息不仅会显示在build页面中,同时也会显示在历史构建列表中。

  有了这个前提,要将二维码图片展示在历史构建列表中貌似就可以实现了,能直观想到的方式就是采用HTMLimg标签,将<img src='qr_code_url'>写入到build描述信息中。

  这个方法的思路是正确的,不过这么做以后并不会实现我们预期的效果。

  这是因为Jenkins出于安全的考虑,所有描述信息的Markup Formatter默认都是采用Plain text模式,在这种模式下是不会对build描述信息中的HTML编码进行解析的。

  要改变也很容易,Manage Jenkins -> Configure Global Security,将Markup Formatter的设置更改为Safe HTML即可。

首先说明2点:

1.这个url指向一张图片

2.我想通过正则匹配到这个图片地址,然后在descripiotn中通过<img src = url>的形式,在jenkins构建历史中展示出这张图片

示例:

测试文本:

appQRCodeURL: https://www.pgyer.com/app/qrcodeHistory/6d2176e2fec26df62f907296237e78910f45b2ff711d81f6e2a926ff45xxxxx

Regular expression填写:

appQRCodeURL: ([a-zA-z]+://[^\s]*)

Description填写:

<img src ="\1" height="" width="" ><a href='https://www.pgyer.com/xxxx'>Install Online</a>

解释:

1.Description使用 \n这种形式去引用Regular expression 中正则表达式匹配到的结果(只会匹配括号中括起来的内容)

2.如果正则表达式中有多个()括号,则可以使用\1\2来对应这些括号

碎碎念:

  • 在这里我只想匹配到 https://xxx 这个url网址,我以为正则表达式部分这样写[a-zA-z]+://[^\s]* 就可以匹配到了。
  • 事实上,我在用在线正则表达式测试的时候确实也匹配到了,
  • 但在使用jenkins时,<img src = "\1"> 出来的结果却是这样的,并没有和我预期一样展示出图片。

接下来排查问题,图片展示不出来,肯定是图片的路径有问题。

直接访问url地址可以看到图片,说明url本身没有问题。

所以问题出在对图片的引用这里。

  • 首先确认正则表达式是否正确的匹配到了图片地址呢?

在 Regular expression处输入https://www.pgyer.com/app/qrcodeHistory/...(...表示正则表达式匹配后面的内容),

Description处什么也不写,这样执行构建后,构建历史中会直接展示正则表达式匹配到的内容,我们就可以查看匹配到的结果是否和我们预期的一致了

展示的效果是这样的。点开...可以访问到图片。

看构建详情是匹配到了url地址的

百思不得其解的时候,看到了下面地址中的博客,才明白过来,原来

在jenkins的 set build description这个插件中,如果想要引用到正则表达式匹配到的结果,

一定要在正则表达式外面用()英文的小括号括起来

划重点:

因为 \1表示引用 正则表达式中第1个用小括号括起来,匹配到的内容,

所以如果description中使用了\1引用,则正则表达式中一定要有1组用()括起来的正则表达式,才能有引用到的结果啊

看一下说明文档:

1

Regular expression参数的含义:

Description参数的含义:

另附一个 APP版本号的正则表达式

BuildVersion: (([1-9]\d|[1-9])(\.([1-9]\d|\d)){2})

使用方式 :

<b>"\1" </b>

效果:

参考了:

https://blog.csdn.net/weiguang1017/article/details/78549607

jenkins插件set build description使用规则的更多相关文章

  1. jenkins插件使用小结

    jenkins官网:https://wiki.jenkins-ci.org/display/JENKINS/Building+a+software+project jenkins插件: 1.AnsiC ...

  2. 转【jenkins插件】

    开源版本的Jenkins 具有三大能力:Master-Slave的分布式构建调度能力.Pipeline编排能力.强大的开源生态(插件)能力. 2017年4月,Jenkins创始人KK(Kohsuke ...

  3. [原]Jenkins(十五)---jenkins插件之deploy

    /** * lihaibo * 文章内容都是根据自己工作情况实践得出. *如有错误,请指正 * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horiz ...

  4. Jenkins插件管理

    1.配置jenkins需要的maven.jdk路径 [root@db01 secrets]# echo $JAVA_HOME /application/jdk [root@db01 secrets]# ...

  5. 持续集成之Jenkins插件使用(一)- 多个job之间的串并联

    转载自:http://qa.blog.163.com/blog/static/190147002201391661510655/ Jenkins除了开源和免费,还有一个最吸引人的功能之一就是支持插件. ...

  6. 【我的Android进阶之旅】 Android Studio插件之Jenkins插件介绍

    一Jenkins插件功能介绍 1Jenkins任务列表 2切换Jenkins分组 3构建Jenkins任务 4进入构建Jenkins任务的页面 5进入最后一次构建Jenkins任务的页面 6增加Jen ...

  7. Jenkins持续集成企业实战系列之Jenkins插件下载及邮件配置-----05

    注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.    最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...

  8. Jenkins插件、war下载地址

    1.jenkins的war包下载地址 地址:http://mirrors.jenkins-ci.org/,打开链接后,表格有war列,Releases行是短期更新包.LTS是长期更新包.一般选择Rel ...

  9. [原创]使用Gradle的插件EnIDE build的时候,输出的中文总是乱码。

    使用Gradle的插件EnIDE build的时候,输出的中文总是乱码.解决办法:在EnIDE的设置里面,设置JVM options GRADLE_OPTS 为:-Dfile.encoding=UTF ...

随机推荐

  1. 20190816 On Java8 第六章 初始化和清理

    第六章 初始化和清理 利用构造器保证初始化 在 Java 中,类的设计者通过构造器保证每个对象的初始化. 构造器名称与类名相同. 在 Java 中,对象的创建与初始化是统一的概念,二者不可分割. 方法 ...

  2. 10 (H5*) js第10天 正则表达式、深浅拷贝

    目录: 1:浅拷贝 2:  深拷贝 3:遍历DOM树 4:正则表达式 5:正则表达式的创建方式 6:字符串中的正则表达式 7:真数组和伪数组 8:  escape()和unescapt() 编码和 解 ...

  3. CentOS tcpdump的使用实例

    tcpdump是一个用于截取网络分组,并输出分组内容的工具.tcpdump凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具. 选项: -A 以ASCII格式打印 ...

  4. spring-第四篇之让bean获取所在的spring容器

    1.如上一篇文章所述,有时候bean想发布一些容器事件,就需要先获取spring容器,然后将Event交由spring容器将事件发布出去. 为了让bean获取它所在的spring容器,可以让该bean ...

  5. python获取ip地址

    #!/usr/bin/env python # -*- coding: utf-8 -*- import os import socket,fcntl,struct #crontab下shell命令无 ...

  6. bfs(火星撞地球)

    Meteor Shower 链接:https://ac.nowcoder.com/acm/contest/997/I来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 327 ...

  7. 最小割树(Gomory-Hu Tree)求无向图最小割详解 附 BZOJ2229,BZOJ4519题解

    最小割树(Gomory-Hu Tree) 前置知识 Gomory-Hu Tree是用来解决无向图最小割的问题的,所以我们需要了解无向图最小割的定义 和有向图类似,无向图上两点(x,y)的割定义为一个边 ...

  8. KNN算法案例--手写数字识别

    import numpy as np import matplotlib .pyplot as plt import pandas as pd from sklearn.neighbors impor ...

  9. Metasploitable2使用指南

    Metasploitable2使用指南 Metasploitable2 虚拟系统是一个特别制作的ubuntu操作系统,本身设计作为安全工具测试和演示常见漏洞攻击.版本2已经可以下载,并且比上一个版本包 ...

  10. mybatis where 中in的使用

    当我们使用mybatis时,在where中会用到 in 如: where name in ('Jana','Tom'); 我们可以在sql中直接写 name in ('Jana','Tom') 或者 ...