You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过GitLab API获取用户的merge_requests相关贡献指标?

通过GitLab API获取用户Merge Request贡献指标

可以通过GitLab API获取你需要的四类MR相关指标,具体实现方式如下:

1. 发起的Merge Requests总数

使用列出Merge Requests接口,指定author_id筛选目标用户发起的所有MR,直接读取响应结果中的total_count字段即可得到总数,无需手动分页统计。

示例请求:

GET /api/v4/merge_requests?author_id=<USER_ID>&state=all
  • state=all包含已合并、关闭、打开等所有状态的MR,若只需统计特定状态可修改该参数(如merged)。

2. 为其他MR提供的评审评论总数

需结合两个接口实现:

  1. 先获取目标用户发起的所有MR ID列表(使用上述第1点的接口,添加fields=id参数仅返回ID);
  2. 调用列出所有MR评论接口,筛选目标用户发布的评论,再排除掉属于自己发起的MR的评论,剩余数量即为所求。

示例请求:

# 获取用户发起的MR ID列表
GET /api/v4/merge_requests?author_id=<USER_ID>&state=all&fields=id

# 获取用户发布的所有MR评论
GET /api/v4/notes?target_type=merge_request&author_id=<USER_ID>

遍历评论结果,过滤掉target_id属于自己MR ID列表的条目,统计剩余条目数量。

3. 为其他MR完成的审批总数

使用列出Merge Requests接口,通过approved_by_ids筛选目标用户审批过的MR,再排除掉自己发起的MR,统计剩余数量。

示例请求:

GET /api/v4/merge_requests?approved_by_ids=<USER_ID>&state=all

遍历返回的MR列表,过滤掉author_id等于目标用户ID的条目,统计剩余条目数量即为审批总数。

4. 自身MR收到的评审评论总数

结合两个接口实现:

  1. 获取目标用户发起的所有MR ID列表;
  2. 调用列出MR评论接口,筛选这些MR下由其他用户发布的评论,累加总数。

示例请求:

# 获取用户发起的MR ID列表
GET /api/v4/merge_requests?author_id=<USER_ID>&state=all&fields=id

# 获取指定MR的评论(可批量处理或遍历每个MR调用)
GET /api/v4/merge_requests/<MR_ID>/notes

对每个MR的评论结果,过滤掉author_id等于目标用户ID的条目,累加所有符合条件的评论数量。

注意:GitLab API默认分页为20条/页,若数据量较大需处理分页逻辑(通过page和per_page参数),确保统计完整。

内容的提问来源于stack exchange,提问作者Mithun Shreevatsa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 01:00:48