2013-05-22 30 views
5

Obecnie próbuję przeczytać (API GitHub) [http://developer.github.com/v3/repos/contents/], aby dowiedzieć się, jak mogę programowo pobrać wszystkie wersje określonego pliku w jednym repozytorium.Używanie API GitHub do pobierania wszystkich wersji określonego pliku

Widzę, że można łatwo uzyskać listę zatwierdzeń i aktualną wersję pojedynczego pliku. Ale czy istnieje sposób na wyszczególnienie wszystkich zatwierdzeń istotnych dla danego pliku, a następnie iterowanie po wszystkich wersjach tego pliku?

Odpowiedz

7

Aby uzyskać listę commity istotne dla konkretnego pliku, użyj this API endpoint i określić parametr path:

GET https://api.github.com/repos/:owner/:repo/commits?path=FILE_PATH 

Dostaniesz z powrotem tablicę popełnić obiektów, z których każdy posiada atrybut sha.

Po wykonaniu wszystkich zatwierdzeń SHA z zatwierdzeniem można pobrać wszystkie różne wersje pliku, używając this API endpoint i podając parametr zapytania ref, aby ustawić SHA. Tak więc, dla każdego commit SHA, złożyć wniosek do:

i odczytać atrybut content. Zauważ, że zawartość jest zakodowana w Base64, ale możesz również poprosić o wersję podstawową, ustawiając odpowiednią wartość AcceptHTTP header.

+0

Doskonale, dzięki! – user1027169

Powiązane problemy