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

如何通过GitLab API获取群组内项目的平均合并时间?

获取GitLab群组内多项目平均合并时间的可行方案

目前GitLab官方API确实没有直接提供群组维度的平均合并时间聚合接口,你可以通过以下步骤手动实现统计:

  • 批量拉取群组内项目列表
    调用Groups API获取目标群组下的所有项目ID,注意处理分页(默认每页20条,可通过per_page=100提高单次拉取数量):

    curl --header "PRIVATE-TOKEN: <你的访问令牌>" "https://gitlab.example.com/api/v4/groups/<群组ID>/projects?per_page=100"
    

    从返回结果中提取每个项目的id字段。

  • 逐个项目获取合并请求耗时数据
    对每个项目ID,调用Merge Request API筛选已合并的MR,并提取创建时间和合并时间:

    curl --header "PRIVATE-TOKEN: <你的访问令牌>" "https://gitlab.example.com/api/v4/projects/<项目ID>/merge_requests?state=merged&created_after=2024-01-01T00:00:00Z&created_before=2024-06-01T00:00:00Z"
    

    对每个MR,用merged_at减去created_at计算单条MR的合并耗时(可转换为小时/天等单位)。

  • 聚合计算群组平均合并时间
    收集所有项目中符合条件的MR耗时数据,求和后除以有效MR的总数,即可得到群组内的平均合并时间。如果需要更精准的统计,可以排除耗时异常的MR(比如超过30天的)。

  • 快捷替代方案
    若你有群组管理员权限,可直接进入群组的「Analytics > Repository」页面,找到「Mean Time to Merge」图表,点击导出CSV。将所有项目的导出数据汇总后,用表格工具(如Excel)计算平均值,这种方式比纯API调用更高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 16:50:39