API Github: проверьте, содержит ли ветвь или репозиторий фиксацию

Можно ли использовать API Github, чтобы проверить, содержит ли определенный репозиторий определенный коммит?

На первый взгляд кажется, что получить один коммит вызов API должен работать, возвращая 404, если в репозитории такой фиксации нет. Но это не так: кажется, что этот вызов будет успешным для коммитов, которые присутствуют в разветвленных репозиториях (возможно, из-за запроса на pull). (Этот эффект можно также наблюдать в регулярном веб-интерфейсе; этот конкретный фиксатор еще не был взят в этот репозиторий.)

Ответ 1

Поиск Api GitHub

Для поиска других репозиториев можно использовать api, который находит фиксации по различным критериям. (Этот метод возвращает до 100 результатов на страницу.):

Использование Api

Примеры параметров для q

  • hash:124a9a0ee1d8f1e15e833aff432fbb3b02632105 Матчи совершают хеш 124a9a0ee1d8f1e15e833aff432fbb3b02632105.
  • parent:124a9a0ee1d8f1e15e833aff432fbb3b02632105 Соответствует детям 124a9a0ee1d8f1e15e833aff432fbb3b02632105.

дополнительные параметры, такие как сортировка, упорядочение, можно найти в приведенной выше документации.

Пример использования для хэша:

  • пример вызова https://api.github.com/search/commits?q=<searchterm>+<searchterm2>
  • конкретный вызов: https://api.github.com/search/commits?q=repo:adejoux/kitchen-wpar+hash:0a3a228e5b250daf06f933b35b3f0eafc715be4f

Вам нужно добавить специальный заголовок, потому что api доступен для разработчиков для предварительного просмотра

для добавления: application/vnd.github.cloak-preview