热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

通过GitLab的commit信息自动更新JIRAissue的状态及comments

通过GitLab的commit信息自动更新JIRAissue的状态及comments,Go语言社区,Golang程序员人脉社

JIRA是一个非常不错的开发团队管理工具。可以与gitlab进行无缝集成。

如何通过gitlab中git的提交信息触发JIRA中的issue状态更新,网上一搜就会有很多的教程。

这里我想再增加两个点:

1.Transition ID必须是你对应的工作流中的转换ID,在项目的工作流配置中进行查看,具体如图中红框所勾选出来的:

也可以通过如下网址进行获取:

https://**JIRA网址**/rest/api/2/issue/**issue ID**/transitions

上述请求将得到当前的issue ID对应的工作流的下个环节的transition ID的列表,得到的返回报文如下,其中的transitions[0/1/2].id就是你将填入gitlab配置中的transitionID,例如我希望在我每次提交的时候,可以关闭当前关联的issue,那么我需要填入gitlab中的就是'181'这个id,对应的下个状态就是“已修复”:

{
    "expand": "transitions",
    "transitions": [
        {
            "id": "131",
            "name": "方案如此",
            "to": {
                "self": "https://jira.citicgz.com/rest/api/2/status/10103",
                "description": "设计方案、业务需求就是这样设计,不属于缺陷",
                "iconUrl": "https://jira.citicgz.com/images/icons/statuses/generic.png",
                "name": "方案如此",
                "id": "10103",
                "statusCategory": {
                    "self": "https://jira.citicgz.com/rest/api/2/statuscategory/4",
                    "id": 4,
                    "key": "indeterminate",
                    "colorName": "yellow",
                    "name": "处理中"
                }
            }
        },
        {
            "id": "161",
            "name": "修复中",
            "to": {
                "self": "https://jira.citicgz.com/rest/api/2/status/3",
                "description": "开发人员正在进行缺陷修复工作",
                "iconUrl": "https://jira.citicgz.com/images/icons/statuses/inprogress.png",
                "name": "修复中",
                "id": "3",
                "statusCategory": {
                    "self": "https://jira.citicgz.com/rest/api/2/statuscategory/4",
                    "id": 4,
                    "key": "indeterminate",
                    "colorName": "yellow",
                    "name": "处理中"
                }
            }
        },
        {
            "id": "181",
            "name": "修复缺陷",
            "to": {
                "self": "https://jira.citicgz.com/rest/api/2/status/5",
                "description": "开发已修复缺陷,等待测试人员回归测试",
                "iconUrl": "https://jira.citicgz.com/images/icons/statuses/resolved.png",
                "name": "已修复",
                "id": "5",
                "statusCategory": {
                    "self": "https://jira.citicgz.com/rest/api/2/statuscategory/4",
                    "id": 4,
                    "key": "indeterminate",
                    "colorName": "yellow",
                    "name": "处理中"
                }
            }
        }
    ]
}

gitlab中支持填入多个jira的transition ID,中间通过','或者';'进行分割。

2.想要通过gitlab的提交触发jira的状态转换,必须要设置好gitlab上的默认分支。只有默认分支上的commit信息才能触发jira上的issue的状态变更。否则,非默认分支上的修改,只会触发jira的comment信息的更新。

具体的配置请搜索gitlab默认分支修改。如果你发现,gitlab上git的commit提交信息无法触发jira的transition状态变化,那一般是因为你不是在默认分支上提交。

一般默认分支应该是master分支。


推荐阅读
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 全面解析运维监控:白盒与黑盒监控及四大黄金指标
    本文深入探讨了白盒和黑盒监控的概念,以及它们在系统监控中的应用。通过详细分析基础监控和业务监控的不同采集方法,结合四个黄金指标的解读,帮助读者更好地理解和实施有效的监控策略。 ... [详细]
  • 程序员如何优雅应对35岁职业转型?这里有深度解析
    本文探讨了程序员在职业生涯中如何通过不断学习和技能提升,优雅地应对35岁左右的职业转型挑战。我们将深入分析当前热门技术趋势,并提供实用的学习路径。 ... [详细]
  • 远程过程调用(RPC)是一种允许客户端通过网络请求服务器执行特定功能的技术。它简化了分布式系统的交互,使开发者可以像调用本地函数一样调用远程服务,并获得返回结果。本文将深入探讨RPC的工作原理、发展历程及其在现代技术中的应用。 ... [详细]
  • 探索新一代API文档工具,告别Swagger的繁琐
    对于后端开发者而言,编写和维护API文档既繁琐又不可或缺。本文将介绍一款全新的API文档工具,帮助团队更高效地协作,简化API文档生成流程。 ... [详细]
  • 本文总结了优化代码可读性的核心原则与技巧,通过合理的变量命名、函数和对象的结构化组织,以及遵循一致性等方法,帮助开发者编写更易读、维护性更高的代码。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
  • 本文详细介绍了钩子(hook)的概念、原理及其在编程中的实际应用。通过对比回调函数和注册函数,解释了钩子的工作机制,并提供了具体的Python示例代码,帮助读者更好地理解和掌握这一重要编程工具。 ... [详细]
  • 深入解析 Android IPC 中的 Messenger 机制
    本文详细介绍了 Android 中基于消息传递的进程间通信(IPC)机制——Messenger。通过实例和源码分析,帮助开发者更好地理解和使用这一高效的通信工具。 ... [详细]
  • Python自动化测试入门:Selenium环境搭建
    本文详细介绍如何在Python环境中安装和配置Selenium,包括开发工具PyCharm的安装、Python环境的设置以及Selenium包的安装方法。此外,还提供了编写和运行第一个自动化测试脚本的步骤。 ... [详细]
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
  • docker镜像重启_docker怎么启动镜像dock ... [详细]
  • GoCV入门指南:配置与基础应用
    本文详细介绍了GoCV的安装配置及基本使用方法,包括如何打开摄像头、图片和视频文件。适合Golang开发者快速上手。 ... [详细]
  • Java多重继承的替代方案及设计考量
    本文探讨了Java为何不支持多重继承,并深入分析了其背后的原理和替代方案。通过理解Java的设计哲学,开发者可以更好地利用接口和其他特性来实现复杂的类结构。 ... [详细]
author-avatar
show窝_515
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有