Jira Api对接实践:jira-workflow节点校验条件详解(番外篇)


最近对jira-workflow一个节点写了一个校验条件,起初搜索出来的文档更多都是介绍触发条件和处理结果的,对校验条件介绍的比较少而且也不完整,后来我花时间阅读了部分api终于解决。jira api地址:https://docs.atlassian.com/software/jira/docs/api/6.2.1/com/atlassian/jira

本文做一个总结

一、需求

我们想针对线上缺陷workflow的“修复完毕”节点增加一个校验条件,只有关联了修复缺陷时提交的 commit信息才能“修复完毕”通过,否则给出错误提示。如下图

(番外篇)Jira Api对接:jira-workflow中节点校验条件实践_jira

二、背景

目前我们公司要求开发在修复完缺陷,提交代码填写commit信息时填写"#jira-bugId",以这种方式把缺陷和对应修复的代码进行关联,在jira上显示这次的commit信息,这样测试在验证缺陷时可以快速浏览开发代码改动范围。如下图

(番外篇)Jira Api对接:jira-workflow中节点校验条件实践_workflow_02

三、实现

1、管理员用户登录–设置–问题–工作流中找到对应的workflow,如下图

(番外篇)Jira Api对接:jira-workflow中节点校验条件实践_jira_03

2、点击编辑,选择图形或者文本,找到对应的节点并点击,选择校验条件tab

图形如下图:

(番外篇)Jira Api对接:jira-workflow中节点校验条件实践_校验器_04

文本如下图

(番外篇)Jira Api对接:jira-workflow中节点校验条件实践_校验器_05

(番外篇)Jira Api对接:jira-workflow中节点校验条件实践_jira_06

3、点击添加校验器—选择Custom Groovy Script–编写脚本后点击增加

(番外篇)Jira Api对接:jira-workflow中节点校验条件实践_抛出异常_07

(番外篇)Jira Api对接:jira-workflow中节点校验条件实践_git_08

这里groovy脚本与java是兼容的,可以按照java语法编写,校验器最后返回结果是boolean型,代码如下:

import com.atlassian.jira.component.ComponentAccessorimport com.opensymphony.workflow.InvalidInputException;import com.atlassian.jira.issue.comments.CommentManager;import com.atlassian.jira.issue.comments.Comment;//获取备注管理器CommentManager commentManager = ComponentAccessor.getCommentManager();//根据issue获取所有备注信息List<Comment> commentList = commentManager.getComments($issue)for(Comment  comment : commentList){    //如果备注提交人等于qualitytest且内容包含指定信息则校验通过,否则校验失败    if(comment.getAuthorFullName().equals("qualitytest")&&                          comment.getBody().contains("本次Gitlab与Jira关联的信息如下")){        return true;        }} //---一定要返回true、false或者抛出异常,否则会报空指针。如下图throw new InvalidInputException("缺陷备注中缺少修改gitlab相关信息");1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.

(番外篇)Jira Api对接:jira-workflow中节点校验条件实践_抛出异常_09

4、确定并发布草稿

(番外篇)Jira Api对接:jira-workflow中节点校验条件实践_workflow_10

四、测试

校验失败则抛出异常,如下图:

(番外篇)Jira Api对接:jira-workflow中节点校验条件实践_git_11

等着开发接招了,估计又该抱怨了

更多文章请关注公众号

(番外篇)Jira Api对接:jira-workflow中节点校验条件实践_jira_12




免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空