使用 GitHub 的 API 获取每次提交(在分支上)添加/删除的代码行?

Geo*_*rge 5 github github-api

以下内容获取项目master分支的原始提交列表:

https://api.github.com/repos/<organization_name>/<repo_name/commits?page=0&per_page=30
Run Code Online (Sandbox Code Playgroud)

问题 1:如何获得一个类似但特定的列表<branchname>

问题 2:上面的提交列表不包括有关每次提交添加/删除的代码行的任何数据(即,非常粗略的生产力指标)。有没有办法在查询中获取这些数据?

bur*_*ete 6

sha={branchname}您可以使用 params中的 param获取特定分支/commits

\n\n
\n

sha string SHA 或分支开始列出提交。默认:repository\xe2\x80\x99s 默认分支(通常是 master)。

\n
\n\n
https://api.github.com/repos/<org_name>/<repo_name>/commits?sha=<branchName>&page=0&per_page=30\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n\n

要获取每个提交的每个文件的特定更改,您需要url在上述 URL 的响应中检查每个提交实体的变量。从新的端点调用中,您将获得该单个提交的更详细信息。files那里的变量将包含该提交中包含的更改。每个文件都添加和删除了代码。

\n\n
\n

我的仓库的一个例子;

\n\n

https://api.github.com/repos/buraequete/orikautomation/commits?sha=master&page=0&per_page=30

\n\n

如果我们得到第一个提交url

\n\n

https://api.github.com/repos/buraequete/orikautomation/commits/89792e6256dfccc5e9151d81bf04145ba02fef8f

\n\n

其中包含您想要在变量中进行的更改files作为列表。

\n\n
"files": [\n    {\n      "sha": "8aaaa7de53bed57fc2865d2fd84897211c3e70b6",\n      "filename": "lombok.config",\n      "status": "added",\n      "additions": 1,\n      "deletions": 0,\n      "changes": 1,\n      "blob_url": "https://github.com/buraequete/orikautomation/blob/89792e6256dfccc5e9151d81bf04145ba02fef8f/lombok.config",\n      "raw_url": "https://github.com/buraequete/orikautomation/raw/89792e6256dfccc5e9151d81bf04145ba02fef8f/lombok.config",\n      "contents_url": "https://api.github.com/repos/buraequete/orikautomation/contents/lombok.config?ref=89792e6256dfccc5e9151d81bf04145ba02fef8f",\n      "patch": "@@ -0,0 +1 @@\\n+lombok.accessors.chain = true"\n    },\n    ...\n]\n
Run Code Online (Sandbox Code Playgroud)\n
\n\n

抱歉,但我认为没有办法在原始/commits端点调用中获取每个文件的更改,您必须进行多次调用...

\n