Github API 将用户代码合并到特定 repo 的 master 分支中

Github API get user code merged into master branch of specific repo

只是有一个关于 GitHub 的 REST api 的问题,我正在查看文档,但似乎找不到我要找的东西。有没有办法查看用户在特定 repo 的一段时间内合并到 master 分支的代码量?

基本上我想要 return 的

用户 xMay 2020May 2021 范围内提交了 x 行代码。诸如此类。

GITHUB API

不幸的是,Github API 不提供这些信息(还没有?),您将只能获得用户使用 [=22= 对存储库所做的贡献数量] 服务。

解决方法

似乎有一个解决方法:

咨询此 URL:https://github.com/<repo_owner>/<repo_name>/graphs/contributors,我观察到以下申请是用来填写贡献者数据的:

  • 请求URL:https://github.com/<repo_owner>/<repo_name>/graphs/contributors-data
  • 请求方式:GET
  • 请求Headers:不确定...

此端点将 return 类似于以下内容 object:

[
  {
     "total":N,
     "author":{
        "id":<user_id>,
        "login":"<user_name>",
        "avatar":"<user_avatar>",
        "path":"/<user_name>",
        "hovercard_url":"/users/<user_name>/hovercard"
     },
     "weeks":[
        {
           "w":1586044800,
           "a":0,
           "d":0,
           "c":0
        },
        {
           "w":1586649600,
           "a":0,
           "d":0,
           "c":0
        },
        ...
     ]
   }
 ]

在此回复中,您将有一个 贡献者列表,其中 contributors' details,其中:

  • total:表示该用户对存储库的贡献量。

  • author: Github 用户数据。

  • weeks:每周贡献列表,其中每周:

    • w: 是星期id
    • a: 添加的行数
    • d:删除的行数
    • c:提交的数量

因此,要获得您想要的结果,您必须汇总每个用户所有周的贡献。

观察:据我所知,要这样做,您需要有权访问存储库见解(它们可能对任何用户不可用)。