一、统计结果要求
1.统计个人提交量(当天或者其他日期区间选择)
2.统计部门总提交量(根据个人提交明细去重,再以部门去重,求得部门提交总量)
3.根据部门提交总量生成柱状图及趋势线(目前按10个部门生成一次)
二、统计实现方式
用python调用gitlab接口实现统计(python-gitlab)
方法一:
1.通过管理员token,api 4认证gitlab
2.循环遍历gitlab project list,通过last_actvity_at参数条件遍历出时间区间内最后活动的project
project = client.projects.list(all=True)
if '2020-02-06' <= (pro.last_activity_at).split('T')[0] <= '2020-02-07' (日期可选)
3.遍历当前项目所有分支
branches = pro.branches.list(all=True)
commits = pro.commits.list(all=True,query_parameters={'since': '2020-02-07T00:00:00Z', 'ref_name': tmp.name})
对当前分支循环过滤,找出指定时间后的commit,将commit中统计信息写进列表
方法二:
1.根据用户事件,抓取当前用户pushed commit记录,在域认证部分抓取中文名及部门拼接
2.通过当前用户push事件中
过滤出当前事件commit列表进行循环
过滤uat test分支
过滤Merge提交和merge request()
过滤gitlab用户自动构建提交及取派中心用户
过滤合并请求事件 commit列表中包含的不属于当前用户、当前选择日期的其它提交
3.根据如上条件找出需要参数放入列表,进行数据输出(写进excel)
001-Gitlab关于统计提交工作量的方式
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- GitLab 是一个基于 git 的仓库管理程序,也是一个方便软件开发的强大完整应用。 GitLab 拥有一个“用...
- Git飞行规则(Flight Rules) 前言 英文原版README 翻译可能存在错误或不标准的地方,欢迎大家指...