Здравствуйте, я новичок в Laravel и программировании в целом.
Я пытаюсь создать приложение, которое отслеживает историю коммитов моих командных проектов на GitHub. Я сейчас, что `git log`, делает это, но идея состоит в том, чтобы поместить это на сервер и получить доступ отовсюду, не выполняя команду вручную (кстати, не знаю, возможно ли это).
Итак, на данный момент для меня решение состоит в том, чтобы прочитать атомную ленту пользователя-участника проекта. Дело в том, что — по очевидным причинам — частные репозитории не доступны напрямую. В документации GitHub говорится, что к ним можно получить доступ с помощью базовой аутентификации, но сейчас я не могу этого сделать. Я пытался протестировать Postman даже при создании Oath2, а также при предоставлении и предоставлении разрешений, но не знаю, почему это не работает.
Кстати, извините за мой английский. Заранее спасибо 🙂
Github предоставляет публичный API для получения пользовательских событий в формате json.
Если вы наберете это в консоли (unix):
curl https://api.github.com/users/sea-reel/events
… вы получаете список моих последних публичных коммитов.
Для реализации этого с Laravel вы можете просто использовать file_get_contents () :
Route::get('/commits/{username}', function($username)
{
$url = "https://username:[email protected]/users/{$username}/events";
$json = json_decode(file_get_contents($url),true);
dd($json);
});
Чтобы также получить доступ к коммитам из частных репозиториев, вы можете использовать один из различные методы аутентификации, предоставляемые API Github. Здесь я использовал базовую аутентификацию, но вы можете найти более безопасный способ использовать OAuth и хранить секретные ключи вместо необработанных паролей.
Других решений пока нет …