Получение истории сборки проекта с открытым исходным кодом через API AppVeyor
Я нахожусь в процессе исследования репозиториев GitHub с открытым исходным кодом, и я хотел бы получить именно эту информацию о репозитории: использует ли он в настоящее время CI-сервис или нет.
Для этого я нахожу *.yml
Конфигурационный файл, определите CI-провайдера и запросите его API для последней истории сборки. Тогда я могу проверить, если последние коммиты master
ветви имеют ассоциированную CI-сборку.
Например, если проект использует Travis, то запрос https://api.travis-ci.org/repos/{owner}/{repo}/builds
дает мне информацию о последних 50 сборках, и это именно то, что мне нужно.
Но у меня были некоторые проблемы с AppVeyor. Согласно их документации, история сборки может быть получена через: https://ci.appveyor.com/api/projects/{accountName}/{projectSlug}/history?recordsNumber={records-per-page}
, Запрос на обслуживание API соответственно снабжен обязательными заголовками (Accept
а также Authorization
). Тем не менее, когда я пытаюсь получить историю сборки для проекта (например, Octokit/Octokit.net
) Я всегда получаю "Project not found or access denied."
,
Следовательно, я прав в предположении, что AppVeyor ограничивает доступ к сборочной информации только зарегистрированным участникам проекта?
Спасибо!
1 ответ
Чтобы убедиться, что последние коммиты master
В филиале есть связанные сборки CI, которые вам даже не нужно вызывать CI API - необходимая информация уже есть на GitHub! Все, что вам нужно, это проверить статусы коммитов с помощью API Statuses. Каждая система CI имеет свой уникальный статус context
значение. Например, контекст AppVeyor начинается с continuous-integration/appveyor
,