Получение истории сборки проекта с открытым исходным кодом через 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,

Другие вопросы по тегам