2017-05-05 12 views
0

안녕하세요 저는 Laravel 및 프로그래밍 전반에 새로운 사람입니다.Github 사용자의 원자 피드에 액세스하여 프로젝트에서 커밋을 얻는 방법은 무엇입니까? 또는 대체

GitHub에서 팀 프로젝트의 커밋 내역을 추적하는 앱을 만들려고합니다. 나는 이제`자식 로그 (git log) '가 이렇게했지만 아이디어는 수동으로 명령을 실행하지 않고 서버와 액세스에 배치하는 것입니다 (이것이 가능한지는 모르겠다. btw).

그래서, 나에게있어 해결책은 프로젝트의 사용자 멤버의 원자 피드를 읽는 것입니다. 그 이유는 명백한 이유로 프라이빗 리포지터리가 직접적으로 접근 할 수 없다는 것입니다. GitHub 문서는 기본 인증을 사용하여 액세스 할 수 있다고 말합니다. 그러나 나는 그것을 할 수 없습니다. Oath2를 만들고 앱을 사용하고 권한을 양보하더라도 Postman에 대한 테스트를 시도했지만 작동하지 않는 이유는 아닙니다.

영어로 죄송합니다. 미리 감사드립니다 :)

+0

도움이 될 수도 있습니다. http://stackoverflow.com/questions/7353538/setting-up-an-github-commit-rss-feed?rq=1 –

답변

0

Github provides a public API json 형식으로 사용자 이벤트를 검색합니다.

당신이 (UNIX) 콘솔이를 입력하면 :

curl https://api.github.com/users/sea-reel/events 

... 당신이 내 마지막 공공 커밋의 목록을 얻을.

는 단순히 file_get_contents()을 사용할 수 있습니다 Laravel와이를 구현하려면 :

Route::get('/commits/{username}', function($username) 
{ 
    $url = "https://username:[email protected]/users/{$username}/events"; 
    $json = json_decode(file_get_contents($url),true); 

    dd($json); 
}); 

도에 대한 접근은 개인의 repos에서 커밋, 당신은 various authentication methods provided by Github's API 중 하나를 사용할 수 있습니다. 여기에서는 기본 인증을 사용했지만 원시 비밀번호 대신 OAuth를 사용하고 비밀 키를 저장하는 것이 더 안전합니다.