(番外篇)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中节点校验条件实践

二、背景
目前我们公司要求开发在修复完缺陷,提交代码填写commit信息时填写”#jira-bugId”,以这种方式把缺陷和对应修复的代码进行关联,在jira上显示这次的commit信息,这样测试在验证缺陷时可以快速浏览开发代码改动范围。如下图
(番外篇)Jira Api对接:jira-workflow中节点校验条件实践
三、实现
1、管理员用户登录–设置–问题–工作流中找到对应的workflow,如下图
(番外篇)Jira Api对接:jira-workflow中节点校验条件实践
2、点击编辑,选择图形或者文本,找到对应的节点并点击,选择校验条件tab
图形如下图:
(番外篇)Jira Api对接:jira-workflow中节点校验条件实践
文本如下图
(番外篇)Jira Api对接:jira-workflow中节点校验条件实践
(番外篇)Jira Api对接:jira-workflow中节点校验条件实践

3、点击添加校验器—选择Custom Groovy Script–编写脚本后点击增加
(番外篇)Jira Api对接:jira-workflow中节点校验条件实践
(番外篇)Jira Api对接:jira-workflow中节点校验条件实践

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

import com.atlassian.jira.component.ComponentAccessor
import com.opensymphony.workflow.InvalidInputException;
import com.atlassian.jira.issue.comments.CommentManager;
import com.atlassian.jira.issue.comments.Comment;
    //获取备注管理器
    CommentManager commentManager = ComponentAccessor.getCommentManager();
    //根据issue获取所有备注信息
    List 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相关信息");

 

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

4、确定并发布草稿
(番外篇)Jira Api对接:jira-workflow中节点校验条件实践
四、测试
校验失败则抛出异常,如下图:
(番外篇)Jira Api对接:jira-workflow中节点校验条件实践
等着开发接招了,估计又该抱怨了

更多文章请关注公众号
(番外篇)Jira Api对接:jira-workflow中节点校验条件实践

文章版权声明

 1 原创文章作者:3721,如若转载,请注明出处: https://www.52hwl.com/35264.html

 2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈

 3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)

 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年7月15日 下午4:59
下一篇 2023年7月15日 下午4:59