更少文件的GitHub API响应

时间:2018-10-09 13:40:52

标签: python python-requests github-api pull-request

我是GitHub API的新手。 我正在编写一个Python程序(使用 requests ),该程序应列出给定存储库中pull请求的所有已更改/添加的文件。

使用API​​,我可以列出所有拉取请求并获取其编号。但是,当我尝试获取有关文件的信息时,响应未包含请求请求中的所有文件。

pf = session.get(f'https://api.github.com/repos/{r}/pulls/{pull_num}/files')
pj = pf.json()
pprint.pprint(pf.json())
for i in range(len(pj)):
    print(fj[i]['filename']))

(我知道可能有一种更漂亮的方法,Python并不是我真正的咖啡,但是当我将pf.text与该代码段的输出进行比较时,结果是相同的。)< / em>

我知道文档中提到的文件限制为 300个,但是即使文件总数少于300个,也会出现问题。

我用一个请求请求创建了一个测试仓库,该请求添加了名为 file1,file 2,...,file222 的文件,并且在发送GET请求后,响应仅包含以下文件名:< / p>

file1,file10,file100,file101,file102,file103,file104,file105,file106,file107,file108,file109,file11,file110,file111,file112,file113,file114,file115,file116,file117,file118,file119,file12 ,file120,file121,file122,file123,file124,file125

还有其他我不知道的限制吗?还是为什么响应只包含那些文件名?我如何得到所有这些?

1 个答案:

答案 0 :(得分:0)

发布问题后不久,我找到了解决方案。 API在响应的标题中发送一些条目(文件名)和指向另一个页面的链接。问题中的文件是按字母顺序排列的前几个文件,即第一页。