Я создаю приложение CI, которое выполняет некоторую работу с содержимым репозитория GitHub по расписанию или каждый раз, когда новый код объединяется через Webhook.
Я создал приложение GitHubи все настроено так, что пользователи могут войти с ним, предоставить ему доступ к своим репозиториям и настроить свои задания CI.
Я не могу найти документацию о том, как клонировать полное содержимое репо, если оноявляется частной, путем аутентификации пользователя, который подключил мое приложение GitHub.Я нашел документы по получению дерева для репо , но мне все равно придется пройти через этот ответ JSON и загрузить каждый файл отдельно, что похоже на повторную реализацию клона Git самостоятельно.
Сейчас я просто запускаю команду git clone
как подпроцесс из моего скрипта CI.Просто интересно, какое решение здесь.Должен ли я использовать libgit2?Или использовать это дерево API и загрузить все файлы?