实现代码分支流程和工作项工作流程双向联动的方法技术

技术编号:38704656 阅读:13 留言:0更新日期:2023-09-08 14:45
本发明专利技术提供一种实现代码分支流程和工作项工作流程双向联动的方法,属于计算机软件开发技术领域。所述实现代码分支流程和工作项工作流程双向联动的方法包括:配置代码分支流程与工作项工作流程的联动规则;实时侦听与发生代码分支流程事件对应的第一消息,根据所述第一消息在配置的联动规则信息中查询所述代码分支流程与工作项工作流程的联动规则,根据查询到的联动规则触发工作项工作流程流转;实时侦听与发生工作项工作流程事件对应的第二消息,根据所述第二消息在配置的联动规则信息中查询所述代码分支流程与工作项工作流程的联动规则,根据查询到的联动规则触发代码分支流程流转。程流转。程流转。

【技术实现步骤摘要】
实现代码分支流程和工作项工作流程双向联动的方法


[0001]本专利技术涉及计算机软件开发
,具体地涉及一种实现代码分支流程和工作项工作流程双向联动的方法、一种DevOps平台、一种计算机可读储存介质以及一种电子设备。

技术介绍

[0002]DevOps平台是目前业界的一种为软件研发团队提供从产品构思到开发、测试、交付的一站式数字化研发协同平台。其中包括了软件工程师进行代码开发的代码管理模块以及用于工作项(在本文中,需求、缺陷等各项研发工作统称为工作项)管理的工作项管理模块。
[0003]在DevOps平台中,分支模型:众多的工程师在进行代码开发协同的时候,为了避免互相影响,通常会采取分支开发的方式,当工作项完成后,再合入集成分支,这样新建分支、开发、合入集成分支的团队开发流程,通常称之为分支模型。工作项工作流:在软件研发过程中,一个工作项需要有特定的流程,例如一个需求类的工作项,要经过需求调研、需求确认、需求开发、需求测试、需求上线等一系列协同研发流程与环节。此研发流程和环节通常称之为工作流。
[0004]分支模型中的开发流程与工作项工作流的关系:分支模型中的开发流程是整个工作项工作流中的一部分,是工作项进入代码开发、代码协同阶段的载体。两者具备非常密切的联系。其中,分支模型的开发流程中,能够和工作项工作产生关系的包括如下事件:拉取分支、代码提交、发起评审、评审通过、评审合入、分支删除、Tag创建、Tag删除等。
[0005]当前,对于代码分支模型进行代码协同开发的流程和工作项工作流两者之间关系的处理,现有技术通过webhook和脚本,在代码提交、分支合并等场景,调用工作项管理模块的API,从而触发对应的工作项状态变更;这种方案的缺点为不支持工作项的工作流反向控制分支模型中的代码协同流程。

技术实现思路

[0006]本专利技术实施方式的目的是提供一种实现代码分支流程和工作项工作流程双向联动的方法,以至少解决上述问题。
[0007]为了实现上述目的,本专利技术第一方面提供一种实现代码分支流程和工作项工作流程双向联动的方法,所述方法包括:
[0008]配置代码分支流程与工作项工作流程的联动规则信息;
[0009]实时侦听与发生代码分支流程事件对应的第一消息,根据所述第一消息在配置的联动规则信息中查询所述代码分支流程与工作项工作流程的联动规则,根据查询到的联动规则触发工作项工作流程进行流转;;
[0010]实时侦听与发生工作项工作流程事件对应的第二消息,根据所述第二消息在配置的联动规则信息中查询所述代码分支流程与工作项工作流程的联动规则,根据查询到的联
动规则触发代码分支流程进行流转。
[0011]本专利技术实施例中,所述配置的联动规则信息中的联动规则包括:
[0012]在发生代码分支流程事件时,确定工作项工作流程从源状态流转至目标状态;
[0013]在发生工作项工作流程事件时,代码分支流程从目标状态流转至源状态。
[0014]本专利技术实施例中,所述根据所述第一消息查询代码分支流程与工作项工作流程的联动规则,根据代码分支流程与工作项工作流程的联动规则触发工作项工作流程流转,包括:
[0015]解析所述第一消息,获取所述第一消息中的代码信息以及代码事件类型信息;
[0016]根据所述代码事件类型信息查询所述代码分支流程与工作项工作流程的联动规则,根据所述代码分支流程与工作项工作流程的联动规则判断该代码分支流程事件是否需要触发工作项工作流程流转;
[0017]若是,则根据所述代码分支流程与工作项工作流程的联动规则获取工作项工作流程的流转状态,查询代码信息与工作项信息的关联关系,获取与代码信息关联的工作项信息,得到与所述工作项信息对应的工作项,所述工作项根据所述工作项工作流程的流转状态流转;
[0018]若否,则该代码分支流程事件流程终止。
[0019]本专利技术实施例中,所述根据所述第二消息查询代码分支流程与工作项工作流程的联动规则,根据代码分支流程与工作项工作流程的联动规则触发代码分支流程流转,包括:
[0020]解析所述第二消息,获取所述第二消息中的工作项信息以及工作项状态;
[0021]根据所述工作项状态查询代码分支流程与工作项工作流程的联动规则,根据所述代码分支流程与工作项工作流程的联动规则判断该工作项工作流程事件是否需要触发代码分支流程流程;
[0022]若是,则根据所述代码分支流程与工作项工作流程的联动规则获取代码分支流程的流转状态,查询代码信息与工作项信息的关联关系,获取与工作项信息关联的代码信息,得到与所述代码信息对应的代码分支模型,所述代码分支模型根据所述代码分支流程的流转状态流转;
[0023]若否,则该代码分支流程事件流程终止。
[0024]本专利技术实施例中,所述方法还包括:
[0025]代码分支流程事件发生时,储存代码信息以及与所述代码信息相对应的工作项信息,关联所述代码信息与所述工作项信息的关系;
[0026]工作项工作流程事件变更时,储存工作项信息以及工作项状态。
[0027]本专利技术第二方面提供一种DevOps平台,用于实现代码分支流程和工作项工作流双向联动,所述DevOps平台包括:
[0028]基础公共功能模块,用于配置代码分支流程与工作项工作流程的联动规则信息;
[0029]代码库管理模块,用于实时侦听与发生代码分支流程事件对应的第一消息,根据所述第一消息在配置的联动规则信息中查询所述代码分支流程与工作项工作流程的联动规则,根据查询到的联动规则触发工作项工作流程进行流转;
[0030]工作项管理模块,用于实时侦听与发生工作项工作流程事件对应的第二消息,根据所述第二消息在配置的联动规则信息中查询所述代码分支流程与工作项工作流程的联
动规则,根据查询到的联动规则触发代码分支流程进行流转。
[0031]本专利技术实施例中,所述基础公共功能模块包括:
[0032]联动规则配置单元,用于配置所述代码分支流程与工作项工作流程的联动规则信息;
[0033]关联关系储存单元,用于储存代码信息、与代码信息相对应的工作项信息以及所述代码信息与所述工作项信息的关联关系;
[0034]消息队列服务单元,用于接收来自所述代码库管理模块的第一消息并将所述第一消息发送至所述工作项管理模块,接收来自所述工作项管理模块的第二消息并将所述第二消息发送至代码库管理模块。
[0035]本专利技术实施例中,所述代码库管理模块包括:
[0036]代码评审单元,用于处理代码评审流程以及配置代码评审和工作项的关联关系;
[0037]分支Tag管理单元,用于处理代码分支事件及代码Tag事件,配置代码分支事件与工作项的关联关系与代码Tag事件与工作项的关联关系;
[0038]代码库单元,用于储存代码,接收代码分支事件和代码Tag事件发生的代码分支流程事件,向所述基础公共功能模块发送代码信息以及代本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实现代码分支流程和工作项工作流程双向联动的方法,其特征在于,所述方法包括:配置代码分支流程与工作项工作流程的联动规则信息;实时侦听与发生代码分支流程事件对应的第一消息,根据所述第一消息在配置的联动规则信息中查询所述代码分支流程与工作项工作流程的联动规则,根据查询到的联动规则触发工作项工作流程进行流转;实时侦听与发生工作项工作流程事件对应的第二消息,根据所述第二消息在配置的联动规则信息中查询所述代码分支流程与工作项工作流程的联动规则,根据查询到的联动规则触发代码分支流程进行流转。2.根据权利要求1所述的实现代码分支流程和工作项工作流程双向联动的方法,其特征在于,所述配置的联动规则信息中的联动规则包括:在发生代码分支流程事件时,确定工作项工作流程从源状态流转至目标状态;在发生工作项工作流程事件时,代码分支流程从目标状态流转至源状态。3.根据权利要求2所述的实现代码分支流程和工作项工作流程双向联动的方法,其特征在于,所述根据所述第一消息查询代码分支流程与工作项工作流程的联动规则,根据代码分支流程与工作项工作流程的联动规则触发工作项工作流程流转,包括:解析所述第一消息,获取所述第一消息中的代码信息以及代码事件类型信息;根据所述代码事件类型信息查询所述代码分支流程与工作项工作流程的联动规则,根据所述代码分支流程与工作项工作流程的联动规则判断该代码分支流程事件是否需要触发工作项工作流程流转;若是,则根据所述代码分支流程与工作项工作流程的联动规则获取工作项工作流程的流转状态,查询代码信息与工作项信息的关联关系,获取与代码信息关联的工作项信息,得到与所述工作项信息对应的工作项,所述工作项根据所述工作项工作流程的流转状态流转;若否,则该代码分支流程事件流程终止。4.根据权利要求2所述的实现代码分支流程和工作项工作流程双向联动的方法,其特征在于,所述根据所述第二消息查询代码分支流程与工作项工作流程的联动规则,根据代码分支流程与工作项工作流程的联动规则触发代码分支流程流转,包括:解析所述第二消息,获取所述第二消息中的工作项信息以及工作项状态;根据所述工作项状态查询代码分支流程与工作项工作流程的联动规则,根据所述代码分支流程与工作项工作流程的联动规则判断该工作项工作流程事件是否需要触发代码分支流程流程;若是,则根据所述代码分支流程与工作项工作流程的联动规则获取代码分支流程的流转状态,查询代码信息与工作项信息的关联关系,获取与工作项信息关联的代码信息,得到与所述代码信息对应的代码分支模型,所述代码分支模型根据所述代码分支流程的流转状态流转;若否,则该代码分支流程事件流程终止。5.根据权利要求1所述的实现代码分支流程和工作项工作流程双向联动的方法,其特征在于,所述方法还包括:
代码分支流程事件发生时,储存代码信息以及与所述代码信息相对应的工作项信息,关联所述代码信息与所述工作项信息的关系;工作项工作流程事件变更时,储存工作项信息以...

【专利技术属性】
技术研发人员:郭振王承鹏谢风李阳敦宏丽杨磊唐上强
申请(专利权)人:国能数智科技开发北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1