一种GitLab代码仓库活动智能监控工具的制作方法

文档序号:26139058发布日期:2021-08-03 14:22阅读:339来源:国知局
一种GitLab代码仓库活动智能监控工具的制作方法

本发明涉及java技术领域,具体为一种gitlab代码仓库活动智能监控工具。



背景技术:

java是一门面向对象编程语言,不仅吸收了c++语言的各种优点,还摒弃了c++里难以理解得多继承、指针等概念,因此java语言具有功能强大和简单易用两个特征。java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程经常信忘记更新代码导致合作工作的过程中,产生代码冲突和错误提交,以及不规范的文件提交。为了规范并解决代码审核,进行的无监管合并。

目前gitlab代码仓库监控过程中,主要是监控开发人员的文件信息,但是现在使用的nodesjs实现了git信息的基础推送功能,这样无法过滤不想进行推送的人员、无法校验使用git的人员提交的文件是否是符合开发规范的和无法进行代码合并的预警通知,为此,本领域的技术人员提出了一种gitlab代码仓库活动智能监控工具。



技术实现要素:

(一)解决的技术问题

针对现有技术的不足,本发明提供了一种gitlab代码仓库活动智能监控工具,解决了无法过滤不想进行推送的人员、无法校验使用git的人员提交的文件是否是符合开发规范和无法进行代码合并及预警通知的问题。

(二)技术方案

为实现以上目的,本发明通过以下技术方案予以实现:一种gitlab代码仓库活动智能监控工具,包括代码提交模块,所述代码提交模块的输出端与gitlab监听服务模块的输入端连接,所述gitlab监听服务模块的输出端与仓库活动监控单元的输入端连接,所述仓库活动监控单元的输出端与信息发送模块的输入端连接,所述信息发送模块的输出端与企业微信机器人模块的输入端连接。

仓库活动监控单元包括规范文件校验模块、过滤人员提交模块、合并预警通知模块、提交说明校验模块、事件分类模块和区分提交项目主体模块,所述事件分类模块的输出端与合并预警通知模块的输入端连接,所述合并预警通知模块的输出端与规范文件校验模块的输入端连接,所述规范文件校验模块的输出端与提交说明校验模块的输入端连接,所述提交说明校验模块的输出端与过滤人员提交模块的输入端连接,所述过滤人员提交模块的输出端与区分提交项目主体模块的输入端连接。

优选的,所述事件分类模块包括推送事件、合并事件、仓库更新事件、添加用户事件、把用户踢出团队事件、项目更新事件、创建项目事件、项目删除事件、删除用户事件、创建用户事件、项目迁移事件、标签推送事件和销毁sshkey事件。

优选的,所述过滤人员提交模块是读取开发人员提交的本地代码信息,并过滤不想进行推送的提交文件,再让代码信息传递给区分提交项目主体模块。

优选的,所述合并预警通知模块是把提交的相同代码信息合并,并预警提醒,并将代码信息传递给规范文件校验模块。

优选的,所述规范文件校验模块包括文件夹校验模块和文件命名校验模块,

优选的,所述文件夹校验模块将文件夹是否有非法文件夹以及非法文件夹内部的文件进行校验,

优选的,所述文件命名校验模块检验文件命名是否符合驼峰命名规则。

优选的,所述提交说明校验模块是校验提交的信息是否按照提交的模板进行,并将代码信息传递给过滤人员提交模块。

优选的,所述区分提交项目主体模块将提交的信息中主体项目信息筛选保留。

优选的,所述信息发送模块把项目的名称和机器人进行绑定,根据提交的仓库信息来决定本次消息的发送,并将代码信息传递给企业微信机器人模块。

(三)有益效果

本发明提供了一种gitlab代码仓库活动智能监控工具。具备以下有益效果:

(1)、该gitlab代码仓库活动智能监控工具,通过规范文件校验模块包括文件夹校验模块和文件命名校验模块,文件夹校验模块将文件夹是否有非法文件夹以及非法文件夹内部的文件进行校验,文件命名校验模块检验文件命名是否符合驼峰命名规则,提交说明校验模块是校验提交的信息是否按照提交的模板进行,并将代码信息传递给过滤人员提交模块,这样可以让文件夹校验模块、文件命名校验模块和提交说明校验模块将提交的文件信息进行校验,提高开发文件的规范性。

(2)、该gitlab代码仓库活动智能监控工具,通过过滤人员提交模块是读取开发人员提交的本地代码信息,并将代码信息传递给区分提交项目主体模块,这样可以让过滤人员提交模块过滤不想进行推送的提交文件,增强监控工具的智能性。

(3)、该gitlab代码仓库活动智能监控工具,通过合并预警通知模块是把提交的相同代码信息合并,并预警提醒,然后将代码信息传递给规范文件校验模块,这样可以让合并预警通知模块将相同代码信息合并,并预警提醒,减少监控工具的运行负担。

附图说明

图1为本发明的系统原理框图;

图2为本发明仓库活动监控单元的系统原理框图;

图3为本发明范文件校验模块的系统原理框图;

图4为本发明事件分类模块的系统原理框图。

图中,1、代码提交模块;2、gitlab监听服务模块;3、仓库活动监控单元;4、信息发送模块;5、企业微信机器人模块;6、范文件校验模块;7、过滤人员提交模块;8、合并预警通知模块;9、提交说明校验模块;10、事件分类模块;11、区分提交项目主体模块;12、文件夹校验模块;13、文件命名校验模块。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1-4,本发明实施例提供两种技术方案:

实施例一、

一种gitlab代码仓库活动智能监控工具,包括代码提交模块1。

作为优选方案,代码提交模块1的输出端与gitlab监听服务模块2的输入端连接,gitlab监听服务模块2的输出端与仓库活动监控单元3的输入端连接,仓库活动监控单元3的输出端与信息发送模块4的输入端连接,信息发送模块4的输出端与企业微信机器人模块5的输入端连接,仓库活动监控单元3包括规范文件校验模块6、过滤人员提交模块7、合并预警通知模块8、提交说明校验模块9、事件分类模块10和区分提交项目主体模块11,事件分类模块10的输出端与合并预警通知模块8的输入端连接,合并预警通知模块8的输出端与规范文件校验模块6的输入端连接,规范文件校验模块6的输出端与提交说明校验模块9的输入端连接,提交说明校验模块9的输出端与过滤人员提交模块7的输入端连接,过滤人员提交模块7的输出端与区分提交项目主体模块11的输入端连接。

实施例二、

本实施例作为上一实施例的改进,

一种gitlab代码仓库活动智能监控工具,包括代码提交模块1。

作为优选方案,代码提交模块1的输出端与gitlab监听服务模块2的输入端连接,gitlab监听服务模块2的输出端与仓库活动监控单元3的输入端连接,仓库活动监控单元3的输出端与信息发送模块4的输入端连接,信息发送模块4的输出端与企业微信机器人模块5的输入端连接,仓库活动监控单元3包括规范文件校验模块6、过滤人员提交模块7、合并预警通知模块8、提交说明校验模块9、事件分类模块10和区分提交项目主体模块11,事件分类模块10的输出端与合并预警通知模块8的输入端连接,合并预警通知模块8的输出端与规范文件校验模块6的输入端连接,规范文件校验模块6的输出端与提交说明校验模块9的输入端连接,提交说明校验模块9的输出端与过滤人员提交模块7的输入端连接,过滤人员提交模块7的输出端与区分提交项目主体模块11的输入端连接,

作为优选方案,事件分类模块10包括推送事件、合并事件、仓库更新事件、添加用户事件、把用户踢出团队事件、项目更新事件、创建项目事件、项目删除事件、删除用户事件、创建用户事件、项目迁移事件、标签推送事件和销毁sshkey事件。

作为优选方案,过滤人员提交模块7是读取开发人员提交的本地代码信息,并将代码信息传递给区分提交项目主体模块11,

作为优选方案,合并预警通知模块8是把提交的相同代码信息合并,并预警提醒,并将代码信息传递给规范文件校验模块6,

作为优选方案,规范文件校验模块6包括文件夹校验模块12和文件命名校验模块13,

作为优选方案,文件夹校验模块12将文件夹是否有非法文件夹以及非法文件夹内部的文件进行校验,

作为优选方案,文件命名校验模块13检验文件命名是否符合驼峰命名规则,

作为优选方案,提交说明校验模块9是校验提交的信息是否按照提交的模板进行,并将代码信息传递给过滤人员提交模块7,

作为优选方案,区分提交项目主体模块11将提交的信息中主体项目信息筛选保留,

作为优选方案,信息发送模块4把项目的名称和机器人进行绑定,根据提交的仓库信息来决定本次消息的发送,并将代码信息传递给企业微信机器人模块5。

实施例二相对于实施例一的优点在于:通过文件夹校验模块12、文件命名校验模块13和提交说明校验模块9将提交的文件信息进行校验,提高开发文件的规范性,过滤人员提交模块7让过滤人员提交模块过滤不想进行推送的提交文件,增强监控工具的智能性,合并预警通知模块8让合并预警通知系统将相同代码信息合并,并预警提醒,减少监控工具的运行负担。

工作时,开发人员通过代码提交模块1进行本地代码信息提交,gitlab监听服务模块2监听到开发人员提交的代码信息时,事件分类模块10将开发人员提交的代码信息分类,并在推送事件、合并事件、仓库更新事件、添加用户事件、把用户踢出团队事件、项目更新事件、创建项目事件、项目删除事件、删除用户事件、创建用户事件、项目迁移事件、标签推送事件和销毁sshkey事件中的将事件归类,同时将合并预警通知模块8将归类后的事件通过合并预警通知模块8将提交的相同代码信息合并,并预警提醒开发人员重复提交,合并回的信息通过文件夹校验模块12和文件命名校验模块13,文件夹校验模块12将文件夹是否有非法文件夹以及非法文件夹内部的文件进行校验,文件命名校验模块13检验文件命名是否符合驼峰命名规则,并通过提交说明校验模块9把提交的信息按照是否是以提交的模板进行校验,当校验成功后,提交的信息传入区分提交项目主体模块11后,区分提交项目主体模块11将提交的信息中主体项目信息筛选保留,然后通过信息发送模块4把主体项目发送给企业微信机器人模块5,机器人根据提交的仓库信息来决定本次消息的发送哪个企业微信群。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下。由语句“包括一个......限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素”。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1