以下内容获取了项目master
分支的提交的原始列表:
https://api.github.com/repos/<organization_name>/<repo_name/commits?page=0&per_page=30
问题1:除了特定的<branchname>
,如何才能获得类似的列表?
问题2:上面的提交列表不包含有关每次提交添加/删除的代码行的任何数据(即非常粗略的生产率指标)。有没有办法在查询中获取这些数据?
答案 0 :(得分:1)
您可以在/commits
参数中使用sha={branchname}
参数获取特定分支;
sha
string
SHA或分支开始列出提交。默认:存储库的默认分支(通常是主分支)。
https://api.github.com/repos/<org_name>/<repo_name>/commits?sha=<branchName>&page=0&per_page=30
要获取每个提交的每个文件特定的更改,您需要在上述URL的响应中检查每个提交实体的url
变量。从该new endpoint call中,您将获得有关该单个提交的更详细的信息。其中的files
变量将包含该提交中包含的更改。每个文件都添加和删除了代码。
我的回购示例;
https://api.github.com/repos/buraequete/orikautomation/commits?sha=master&page=0&per_page=30
如果我们第一次提交
url
;其中包含您想要的
files
变量中的更改作为列表。"files": [ { "sha": "8aaaa7de53bed57fc2865d2fd84897211c3e70b6", "filename": "lombok.config", "status": "added", "additions": 1, "deletions": 0, "changes": 1, "blob_url": "https://github.com/buraequete/orikautomation/blob/89792e6256dfccc5e9151d81bf04145ba02fef8f/lombok.config", "raw_url": "https://github.com/buraequete/orikautomation/raw/89792e6256dfccc5e9151d81bf04145ba02fef8f/lombok.config", "contents_url": "https://api.github.com/repos/buraequete/orikautomation/contents/lombok.config?ref=89792e6256dfccc5e9151d81bf04145ba02fef8f", "patch": "@@ -0,0 +1 @@\n+lombok.accessors.chain = true" }, ... ]
对不起,但我认为没有办法在原始/commits
端点调用中获取每个文件的更改,您必须进行多次调用...