2013-05-13 27 views
6

Pracuję nad zautomatyzowaną usługą do pracy z repozytoriami Git Hub. I mam problem po mojej stronie - nie mogę znaleźć sposobu, aby uzyskać wszystkie zatwierdzenia w poszczególnych oddziałach przez jego hash \ name.Pobierz git po nazwie oddziału id z git api

Mój kod jest automatycznym narzędziem do przeglądania kodu. Dodałem więc funkcję, aby zignorować określoną gałąź w procesie sprawdzania (np. Gałąź testowania lub coś w tym stylu). Więc w mojej służbie zaznaczam gałąź jako zignorowaną. Kiedy otrzymam zatwierdzenia z git hub api - nie ma tam informacji o tym, do której gałęzi należy bieżący commit.

zacząłem myśleć, że moja ogólna idea github jest złe - ponieważ związek popełnić-oddział jest dość oczywista rzecz, więc nie powinno być coś, co uczynił deweloperom API ignorować, że w sposobie GetCommits

Więc moje pytanie jest - Czy istnieje sposób, aby dowiedzieć się, które zatwierdzenie gałęzi (przy użyciu wyniku v13 api json) należy do github api (v3 - GET/repos /: owner /: repo/commits /: sha).

Dzięki

+2

W jaki sposób uzyskujesz zatwierdzenia z GitHub? Czy używasz haków do repozytoriów (http://developer.github.com/v3/repos/hooks/) lub czy ręcznie pobierasz zatwierdzenia (http://developer.github.com/v3/repos/commits/)? Jeśli używasz hooków, zostaniesz powiadomiony, do którego oddziału został wysłany - http://developer.github.com/v3/activity/events/types/#pushevent. –

+0

Używam obu faktycznie. Pierwsza z nich informuje mnie, że dodano zatwierdzenie, a następnie używam drugiego, aby uzyskać jego dane. Ale i tak dziękuję - postaram się wykorzystać te informacje. – chaZm

+0

Będę musiał zdobyć wszystkie zatwierdzenia w oddziale - nie ostatni w push. Potrzebuję więc albo sposobu, aby uzyskać wszystkie zatwierdzenia przez oddział, albo znaleźć oddział na liście wszystkich komentarzy. – chaZm

Odpowiedz

9

Obecnie nie ma sposobu, w GitHub API zapytać, czy popełnić w historii konkretnego oddziału. Jedyne, co możesz zrobić, to pobrać wszystkie zatwierdzenia dla określonej gałęzi, a następnie powtórzyć za pomocą zatwierdzeń, aby zobaczyć, czy określone zatwierdzenie znajduje się na liście. Aby to zrobić, zgłoś prośbę do: /repos/:owner/:repo/commits?sha=branchname, gdzie nazwa-oddziału jest nazwą gałęzi, do której chcesz pobrać zatwierdzenia np. https://api.github.com/repos/izuzak/pmrpc/commits?sha=master.

+2

poinformuj, że @chaZm przechowuje informacje o ETag na tych aukcjach, aby mogli oni w następnym przejściu otrzymać tylko te zatwierdzenia, których jeszcze nie widzieli (zakładając, że przechowują już stare informacje). –