下午好,又是奋斗的一天。
登录注册
2022-09-30 15:12:57

极狐 GitLab Issue 统计的思路分享

极狐 GitLab Markdown 可排序、可过滤的数据表格实现

极狐GitLab创作营 JIHULAB 101活动中,设置了多个奖项,其中包括最勤奋的极小蜂奖项(大疆 机甲大师 RoboMaster S1),考核标准就是发布篇章最多的作者前3名获奖。

本次活动在极狐 GitLab SaaS 平台上提交 Issue 的形式进行参与,审核通过后管理员将给 issue 打一个 label 标签 101::DONE,我就在想如何统计出每个人通过的数量,这样好提前之前自己是否获得了最勤劳的极小蜂奖。

<

官方或自托管

如果你能拿到数据库,直接喊程序员,数据库一条SQL就搞定了。

思路一:导出到数据库直接写SQL或Excel

对我来说,最简单的方式,就是导入数据库,用SQL的方式,把统计的工作交给数据库引擎来做。

在极狐 GitLab 上有导出按钮,可以直接导出CSV数据,然后再用数据库工具进行导入,这部分很简单,就不用写教程了吧。

gitlab issue 导出

然后一条SQL搞定:

SELECT
    author_username,
    COUNT( 1 ) AS cnt 
FROM
    a_jhlab101 
WHERE
    labels LIKE '%DONE%' 
GROUP BY
    author_username 
ORDER BY
    cnt DESC

又或者,你很熟悉Excel,直接用Excel打开CSV文件,进行数据统计,我对Excel不是很熟悉,就不表演了,但我知道这是可行的。


思路二:基于API接口查询

极狐 GitLab 有很完善的API接口,几乎可以做任何你想做的事,如果统计是一个经常进行的工作,那么写程序进行重复性的统计就很方便了。

首先,我们需要知道有哪些人提交了 issue,那么就需要查询 issue 接口,拿到作者的用户名:

https://jihulab.com/api/v4/projects/16944/issues

注意翻页哦,拿到作者用户名以后进行去重,得到用户名列表,然后调用统计接口:

https://jihulab.com/api/v4/projects/16944/issues_statistics?labels=101::DONE&author_username=renfei

这里参数我传了两个,一个是用户名、一个是标签,就可以拿到每个用户名的总数了。


你还有什么好的思路?欢迎评论讨论哦

评论与留言

以下内容均由网友提交发布,版权与真实性无法查证,请自行辨别。
本站有缓存策略,时间约2小时后能看到您的评论。本站使用自动审核机制,如果您的内容包含广告/谩骂/恐怖/暴力/涉政等不和谐内容将无法展示!
微信订阅号
扫码关注「任霏博客」微信订阅号
反馈与讨论
感谢您的关注与反馈
如果您发现了BUG、安全漏洞、或者希望讨论技术内容,请点击下方链接对我进行反馈。
feedback