GitHub API ответ с меньшим количеством файлов - PullRequest
0 голосов
/ 09 октября 2018

Я новичок в GitHub API.Я пишу программу на Python (используя запросы ), в которой должны быть перечислены все измененные / добавленные файлы запроса на извлечение в данном репозитории.

Используя 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 с выводом этого фрагмента, результатидентичны.)

Я знаю, что существует ограничение в 300 файлов , как указано в документации, но проблема возникает, даже если их общее количество меньше 300.

Я создал тестовое репо с одним запросом извлечения, который добавляет файлы с именами file1, file 2, ..., file222 , и после отправки запроса GET ответ содержит только имена файлов:

file1, file10, file100, file101, file102, file103, file104, file105, file106, file107, file108, file109, file11, file110, file111, file112, file113, file114, file115, file116, file117, file118, file119, файл12, файл120, файл121, файл122, файл123, файл124, файл125

Есть ли другой предел, о котором я не знаю?Или почему ответ содержит только эти имена файлов?Как мне получить их все?

1 Ответ

0 голосов
/ 09 октября 2018

Я нашел решение спустя некоторое время после публикации вопроса.API отправляет несколько записей (имен файлов) и ссылку на другую страницу в заголовке ответа.Файлы из этого вопроса - первые несколько в алфавитном порядке, первая страница.

...