Почему GitHub API не возвращает все ветки для хранилища? - PullRequest
0 голосов
/ 08 ноября 2019

Как гласит заголовок. Я сталкиваюсь с тем, почему это зеркало на GitHub не показывает вывод в терминале с помощью этой команды:

wget --no-check-cert -q -O - "http://api.github.com/repos/bminor/glibc/branches" | grep release

, но на GitHub есть, например:

picture

1 Ответ

0 голосов
/ 08 ноября 2019

Ответ: , нумерация страниц . Если вы посмотрите на заголовки ответов:

Link: <https://api.github.com/repositories/13868694/branches?page=2>; rel="next", <https://api.github.com/repositories/13868694/branches?page=10>; rel="last"

, вы увидите, что вы смотрите на страницу 1 из 10. Вы можете увеличить количество записей на странице, используя параметр строки запроса, до 100:

curl -Lv 'http://api.github.com/repos/bminor/glibc/branches?per_page=100'

но вы все равно должны получить другие страницы в вашем деле;нужная страница выбирается с помощью параметра строки запроса page, например:

$ curl -sL 'http://api.github.com/repos/bminor/glibc/branches?page=2&per_page=100' \
      | jq -r '.[] | select(.name | contains("release")).name'
hjl/release/2.20/master
hjl/x32/release/2.12
hjl/x32/release/2.15
...