CN105243490B - 一种基于git软件的统计系统及方法 - Google Patents
一种基于git软件的统计系统及方法 Download PDFInfo
- Publication number
- CN105243490B CN105243490B CN201510655315.4A CN201510655315A CN105243490B CN 105243490 B CN105243490 B CN 105243490B CN 201510655315 A CN201510655315 A CN 201510655315A CN 105243490 B CN105243490 B CN 105243490B
- Authority
- CN
- China
- Prior art keywords
- task
- git
- kpi
- information
- project
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于git软件的统计系统及方法,其中系统包括git软件,项目‑仓库关联数据库;服务端,git仓库中的webhook指向服务端;指令分析模块,git服务器触发webhook将commit指令转发到指令分析模块,指令分析模块解析出项目信息;工作流模块,用于接收项目信息,若任务编号所需关联的任务点已存在,则将项目信息与任务点关联,若任务编号所需关联的任务点不存在,则创建新的任务点并将项目信息与任务点关联;同时获取项目名称和员工ID;并将KPI信息保存;KPI报表模块,统计KPI。本发明能够减少软件工程师书写KPI时间,高效、准确地集中得到KPI报表所需的数据,自动提供KPI报表,供决策、管理层参考,从而动态有效地分配项目资源,极大地提高了工作效率,出错率极低。
Description
技术领域
本发明属于KPI统计领域,特别涉及一种基于git软件的统计系统及方法。
背景技术
KPI统计指的是关键绩效指标(KPI:Key Performance Indicator)统计,是通过将总任务进行分解量化成多类小任务,再统计每个工作人员对各类小任务的完成情况和完成时间,得到KPI统计结果。决策和管理层以KPI统计结果来衡量工作人员的工作绩效,并动态有效分配各类资源。
在传统KPI统计中,需要软件工程师每天或每周手动书写工作量表单,然后交给上级或其他部门进行每月或每年的KPI统计。这些KPI还需要人工进行分项目,分团队,并关联到具体的项目进度,给相关人员来带来了除项目开发外额外的任务量,浪费了大量的时间。
由于软件工程师是一个以高强度脑力劳动为主,以逻辑连贯性和紧密性为工作基础的职业,书写KPI报告这类文档性工作对于软件工程师来说是一项比较繁琐且浪费时间的任务。
为了解决工程师书写KPI时间问题和KPI整理繁琐问题,研发出此解决方案。git软件是一个开源的分布式版本控制系统,用以有效、高速地进行各种类型的项目版本管理。每个软件工程师在利用git软件进行项目开发时,都可以随时向公共的git服务器提交结果。利用软件工程师的源码管理工具git软件打通KPI报表,项目进度之间的关系,自动生成,整理员工KPI,项目报表。
发明内容
由于现有的手动书写及统计KPI费时费力、任务繁琐,本发明的目的在于,提供一种基于git软件的统计系统及方法。
为解决上述技术问题,本发明所采用的技术方案是:
一种基于git软件的统计系统,包括
git软件,所述git软件包括git仓库和git服务器;
项目-仓库关联数据库,用于保存项目与git仓库之间的关联关系;
服务端,其中git仓库中的webhook指向所述服务端;
指令分析模块,当git仓库收到一个commit指令信息时,git服务器自动触发webhook将所述commit指令转发到所述指令分析模块,所述指令分析模块根据指令词法分析库解析出commit指令中的项目信息,其中commit指令中的项目信息包括任务编号、任务所属版本号、任务类别、任务所属分组、任务状态;
工作流模块,用于接收指令分析模块传递来的项目信息,若任务编号所需关联的任务点已存在,则将项目信息与任务点关联,若任务编号所需关联的任务点不存在,则创建新的任务点并将项目信息与任务点关联;同时工作流模块根据所述commit指令所属的git仓库,从项目-仓库关联数据库中获取git仓库所关联的项目名称;工作流模块查找该git仓库的拥有者账号,从账号体系中找到对应的员工ID;工作流模块将包含任务编号、任务所属版本号、任务类别、任务所属分组、任务状态、项目名称、对应的员工ID信息的KPI信息带上时间戳保存;
KPI报表模块,用于读取工作流模块保存的KPI信息,根据所述KPI信息分团队、个人或日期分别统计KPI。
基于同一个发明构思,本发明还提供了一种基于git软件的统计方法,使用所述的系统,包括以下步骤:
A.将项目和git仓库建立关联关系,并把该关联关系存入项目-仓库关联数据库;
B.当git仓库收到一个commit指令信息时,git服务器自动触发webhook将所述commit指令转发到所述指令分析模块,指令分析模块根据指令词法分析库解析出commit指令中的项目信息,并将项目信息传递给工作流模块,其中commit指令中的项目信息包括任务编号、任务所属版本号、任务类别、任务所属分组、任务状态;
C.工作流模块接收指令分析模块传递来的项目信息,若任务编号所需关联的任务点已存在,则将项目信息与任务点关联,若任务编号所需关联的任务点不存在,则创建新的任务点并将项目信息与任务点关联;同时工作流模块根据所述commit指令所属的git仓库,从项目-仓库关联数据库中获取git仓库所关联的项目名称;工作流模块查找该git仓库的拥有者账号,从账号体系中找到对应的员工ID;工作流模块将包含任务点、任务所属版本号、任务类别、任务所属分组、任务状态、项目名称、对应的员工ID信息的KPI信息带上时间戳保存;
D.KPI报表模块读取工作流模块保存的KPI信息,根据所述KPI信息分团队、个人或日期分别统计KPI。
作为一种优选方式,所述KPI报表模块根据当前登录的用户信息判断当前用户是否属于管理层,若当前用户属于管理层,则输出团队KPI报表、项目KPI报表、个人KPI报表中的一种或多种;若当前用户不属于管理层,则输出个人KPI报表。
进一步地,所述commit指令中的项目信息按照设定的格式进行提交,所述指令分析模块对commit指令的提交格式进行正则匹配,过滤掉不合规范限制的信息。
与现有技术相比,本发明能够减少软件工程师书写KPI时间,高效、准确地集中得到KPI报表所需的数据,自动提供KPI报表,供决策、管理层参考,从而动态有效地分配项目资源,极大地提高了工作效率,出错率极低。
具体实施方式
本发明的一实施例包括git软件,所述git软件包括git仓库和git服务器;
项目-仓库关联数据库,用于保存项目与git仓库之间的关联关系;
服务端,其中git仓库中的webhook指向所述服务端;
指令分析模块,当git仓库收到一个commit指令信息时,git服务器自动触发webhook将所述commit指令转发到所述指令分析模块,所述指令分析模块根据指令词法分析库解析出commit指令中的项目信息,其中commit指令中的项目信息包括任务编号、任务所属版本号、任务类别、任务所属分组、任务状态;
工作流模块,用于接收指令分析模块传递来的项目信息,若任务编号所需关联的任务点已存在,则将项目信息与任务点关联,若任务编号所需关联的任务点不存在,则创建新的任务点并将项目信息与任务点关联;同时工作流模块根据所述commit指令所属的git仓库,从项目-仓库关联数据库中获取git仓库所关联的项目名称;工作流模块查找该git仓库的拥有者账号,从账号体系中找到对应的员工ID;工作流模块将包含任务编号、任务所属版本号、任务类别、任务所属分组、任务状态、项目名称、对应的员工ID信息的KPI信息带上时间戳保存;
KPI报表模块,用于读取工作流模块保存的KPI信息,根据所述KPI信息分团队、个人或日期分别统计KPI。
本发明的一实施方式使用所述系统,包括以下步骤:
A.将项目和git仓库建立关联关系,并把该关联关系存入项目-仓库关联数据库;
B.当git仓库收到一个commit指令信息时,git服务器自动触发webhook将所述commit指令转发到所述指令分析模块,指令分析模块根据指令词法分析库解析出commit指令中的项目信息,并将项目信息传递给工作流模块,其中commit指令中的项目信息包括任务编号、任务所属版本号、任务类别、任务所属分组、任务状态;
C.工作流模块接收指令分析模块传递来的项目信息,若任务编号所需关联的任务点已存在,则将项目信息与任务点关联,若任务编号所需关联的任务点不存在,则创建新的任务点并将项目信息与任务点关联;同时工作流模块根据所述commit指令所属的git仓库,从项目-仓库关联数据库中获取git仓库所关联的项目名称;工作流模块查找该git仓库的拥有者账号,从账号体系中找到对应的员工ID;工作流模块将包含任务点、任务所属版本号、任务类别、任务所属分组、任务状态、项目名称、对应的员工ID信息的KPI信息带上时间戳保存;
D.KPI报表模块读取工作流模块保存的KPI信息,根据所述KPI信息分团队、个人或日期分别统计KPI。
所述KPI报表模块根据当前登录的用户信息判断当前用户是否属于管理层,若当前用户属于管理层,则输出团队KPI报表、项目KPI报表、个人KPI报表中的一种或多种;若当前用户不属于管理层,则输出个人KPI报表。
所述commit指令中的项目信息按照设定的格式进行提交,所述指令分析模块对commit指令的提交格式进行正则匹配,过滤掉不合规范限制的信息。
commit指令中的项目信息设定的提交格式为“#编号<数字>!版本号<字符串>@分类态<字符串>#分组<字符串>##完成状态<字符串>”。其中“#编号<数字>”表示关联到相关编号的任务点。当数字为0时,表示新建一个新的任务,“#0”为创建新任务指令。“#123”表示关联到编号为123的任务点。“!版本号<字符串>”指定当前提交版本的版本号,以便区分和统计。“@任务状态<字符串>”为标记当前任务的完成状态,共有三种状态,分别是doing(正在做,创建新任务后的默认状态),done(已经完成),pause(暂停该任务,以后再处理)。“@类别”表示该任务所属类别,如“@bug”表示该任务属于bug类别。“#分组#”表示该任务的分组,如“#设计#”表示该任务属于设计组,便于任务检索。
Claims (4)
1.一种基于git软件的统计系统,其特征在于,包括
git软件,所述git软件包括git仓库和git服务器;
项目-仓库关联数据库,用于保存项目与git仓库之间的关联关系;
服务端,其中git仓库中的webhook指向所述服务端;
指令分析模块,当git仓库收到一个commit指令信息时,git服务器自动触发webhook将所述commit指令转发到所述指令分析模块,所述指令分析模块根据指令词法分析库解析出commit指令中的项目信息,其中commit指令中的项目信息包括任务编号、任务所属版本号、任务类别、任务所属分组、任务状态;
工作流模块,用于接收指令分析模块传递来的项目信息,若任务编号所需关联的任务点已存在,则将项目信息与任务点关联,若任务编号所需关联的任务点不存在,则创建新的任务点并将项目信息与任务点关联;同时工作流模块根据所述commit指令所属的git仓库,从项目-仓库关联数据库中获取git仓库所关联的项目名称;工作流模块查找该git仓库的拥有者账号,从账号体系中找到对应的员工ID;工作流模块将包含任务编号、任务所属版本号、任务类别、任务所属分组、任务状态、项目名称、对应的员工ID信息的KPI信息带上时间戳保存;
KPI报表模块,用于读取工作流模块保存的KPI信息,根据所述KPI信息分团队、个人或日期分别统计KPI。
2.一种基于git软件的统计方法,其特征在于,使用如权利要求1所述的系统,包括以下步骤:
A.将项目和git仓库建立关联关系,并把该关联关系存入项目-仓库关联数据库;
B.当git仓库收到一个commit指令信息时,git服务器自动触发webhook将所述commit指令转发到所述指令分析模块,指令分析模块根据指令词法分析库解析出commit指令中的项目信息,并将项目信息传递给工作流模块,其中commit指令中的项目信息包括任务编号、任务所属版本号、任务类别、任务所属分组、任务状态;
C.工作流模块接收指令分析模块传递来的项目信息,若任务编号所需关联的任务点已存在,则将项目信息与任务点关联,若任务编号所需关联的任务点不存在,则创建新的任务点并将项目信息与任务点关联;同时工作流模块根据所述commit指令所属的git仓库,从项目-仓库关联数据库中获取git仓库所关联的项目名称;工作流模块查找该git仓库的拥有者账号,从账号体系中找到对应的员工ID;工作流模块将包含任务点、任务所属版本号、任务类别、任务所属分组、任务状态、项目名称、对应的员工ID信息的KPI信息带上时间戳保存;
D.KPI报表模块读取工作流模块保存的KPI信息,根据所述KPI信息分团队、个人或日期分别统计KPI。
3.如权利要求2所述的基于git软件的统计方法,其特征在于,所述KPI报表模块根据当前登录的用户信息判断当前用户是否属于管理层,若当前用户属于管理层,则输出团队KPI报表、项目KPI报表、个人KPI报表中的一种或多种;若当前用户不属于管理层,则输出个人KPI报表。
4.如权利要求2所述的基于git软件的统计方法,其特征在于,所述commit指令中的项目信息按照设定的格式进行提交,所述指令分析模块对commit指令的提交格式进行正则匹配,过滤掉不合规范限制的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510655315.4A CN105243490B (zh) | 2015-10-12 | 2015-10-12 | 一种基于git软件的统计系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510655315.4A CN105243490B (zh) | 2015-10-12 | 2015-10-12 | 一种基于git软件的统计系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105243490A CN105243490A (zh) | 2016-01-13 |
CN105243490B true CN105243490B (zh) | 2018-12-25 |
Family
ID=55041127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510655315.4A Active CN105243490B (zh) | 2015-10-12 | 2015-10-12 | 一种基于git软件的统计系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105243490B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682834A (zh) * | 2016-12-29 | 2017-05-17 | 江西博瑞彤芸科技有限公司 | 绩效管理方法 |
CN114706567B (zh) * | 2022-06-07 | 2022-09-20 | 广州易方信息科技股份有限公司 | 通过gitlab提交代码关联PM系统任务进度的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436269A (zh) * | 2007-11-14 | 2009-05-20 | 华为软件技术有限公司 | 经营分析系统统一资源管理系统及资源查找方法 |
CN102760152A (zh) * | 2012-04-05 | 2012-10-31 | 中国人民解放军国防科学技术大学 | 一种自动化的开源软件质量证据提取方法 |
CN104424250A (zh) * | 2013-08-28 | 2015-03-18 | 华为技术有限公司 | 一种数据报表的生成方法及装置 |
CN104461671A (zh) * | 2014-12-05 | 2015-03-25 | 闻泰通讯股份有限公司 | 代码修改汇报的定时管理方法及系统 |
CN104536745A (zh) * | 2014-12-19 | 2015-04-22 | 用友金融信息技术有限公司 | 任务修改方法和任务修改装置 |
-
2015
- 2015-10-12 CN CN201510655315.4A patent/CN105243490B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436269A (zh) * | 2007-11-14 | 2009-05-20 | 华为软件技术有限公司 | 经营分析系统统一资源管理系统及资源查找方法 |
CN102760152A (zh) * | 2012-04-05 | 2012-10-31 | 中国人民解放军国防科学技术大学 | 一种自动化的开源软件质量证据提取方法 |
CN104424250A (zh) * | 2013-08-28 | 2015-03-18 | 华为技术有限公司 | 一种数据报表的生成方法及装置 |
CN104461671A (zh) * | 2014-12-05 | 2015-03-25 | 闻泰通讯股份有限公司 | 代码修改汇报的定时管理方法及系统 |
CN104536745A (zh) * | 2014-12-19 | 2015-04-22 | 用友金融信息技术有限公司 | 任务修改方法和任务修改装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105243490A (zh) | 2016-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109861844B (zh) | 一种基于日志的云服务问题细粒度智能溯源方法 | |
US20110161132A1 (en) | Method and system for extracting process sequences | |
CN110019486A (zh) | 数据采集方法、装置、设备及存储介质 | |
CN105373472B (zh) | 一种基于数据库的统计准确性的测试方法及测试系统 | |
US20180004781A1 (en) | Data lineage analysis | |
CN106649239A (zh) | 一种基于可视化的云监控系统中报表生成方法及装置 | |
CN102708142B (zh) | 一种通过sql定制模板获取后台数据的方法和系统 | |
CN106156047B (zh) | 一种快照信息处理方法及装置 | |
CN108664635B (zh) | 数据库统计信息的获取方法、装置、设备和存储介质 | |
CN103942220A (zh) | 一种适用于it运维系统的工单智能关联知识库知识的方法 | |
CN109902117A (zh) | 业务系统分析方法和装置 | |
CN113741883B (zh) | 一种rpa轻量级数据中台系统 | |
CN107239539A (zh) | 一种基于关系型数据库的自定义建模方法 | |
CN105243490B (zh) | 一种基于git软件的统计系统及方法 | |
CN110796342A (zh) | 一种基于典型维护项目的自动化管理方法和装置 | |
CN113947468B (zh) | 一种数据管理方法及平台 | |
KR20150058709A (ko) | 빅 데이터 해석기반의 연구 능률 관리 및 운영 통합 시스템, 그리고 그 방법 | |
CN108536841A (zh) | 基于业务用户习惯的智能学习查询模型 | |
US7844601B2 (en) | Quality of service feedback for technology-neutral data reporting | |
CN106919566A (zh) | 一种基于海量数据的查询统计方法及系统 | |
CN103473305A (zh) | 一种在统计分析中进行决策流程展示的方法及系统 | |
CN111126946A (zh) | 一种信息化系统数据追溯的建模方法及装置 | |
CN103793519A (zh) | 一种支持海量数据导出的自动化工具 | |
CN103761258B (zh) | 构建报表单位体系的方法及装置 | |
CN105630580A (zh) | 基于调度平台的数据汇总方法及数据汇总装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |