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

如何利用GitHub API获取代码新增工作与返工的相关指标?

代码新增与返工指标的GitHub API实现方案

是的,GitHub提供了两类API可以帮你获取这类指标,具体用法如下:

1. REST API:对比提交差异

使用GET /repos/{owner}/{repo}/compare/{base}...{head}接口,它能返回两个提交(或分支、标签)之间的完整差异统计:

  • 直接拿到additions(新增行数)作为新增工作的核心指标
  • 通过deletions(删除行数)结合变更文件的历史记录,筛选出对已有代码的修改部分(返工)
  • 你可以按周期(比如每周)对比起始和结束提交,累加统计数据来生成趋势图

2. GraphQL API:定制化数据查询

如果需要更精准的维度,GraphQL API更灵活:

  • 查询仓库的commits或pullRequests,通过Commit对象的additions、deletions、changedFiles字段获取基础变更数据
  • 关联查询文件的历史提交记录或blame信息,精准区分某段修改是新增代码还是对已有代码的返工(比如判断修改的代码块是否在之前的提交中存在)

细化返工统计的技巧

要准确统计返工(修改已有代码),可以:

  • 对每个变更文件,调用GET /repos/{owner}/{repo}/commits?path={filePath}获取该文件的所有历史提交,对比当前修改与上一次提交的差异,排除首次新增的行,剩余的修改即为返工内容
  • 利用GraphQL的blame查询,定位修改代码的归属提交,判断是否为已有代码的变更

注意事项

  • 认证后的API有更高的速率限制:REST API每小时最多5000次调用,GraphQL API每小时最多5000个请求点,需合理规划请求频率
  • 大型代码库建议批量获取数据并本地缓存,避免重复调用影响效率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 05:31:38