2017-12-10 198 views

Odpowiedz

1

Napisałem drobiazg, aby rozwiązać ten:

Gist "Easy way to calculate commits count from the GitHub API

Opiera się ona na użyciu compare URL z GitHub Commit API, a przy użyciu pola total_commits.

compare_url = '{}/repos/{}/{}/compare/{}...{}'.format(base_url, owner, repo, first_commit, sha) 

commit_count = commit_req.json()['total_commits'] + 1 
+1

+1. Odpowiedzi dotyczące wyłącznie linków są odradzane (https://meta.stackexchange.com/q/8231/6309), więc skorzystałem z wolności, dodając kilka odnośników, linków i szczegółów: edytuj go trochę, jeśli myślisz, że coś przeoczyłem. – VonC

0

W celu uniknięcia robi wielu zapytań, można użyć GraphQL one, podobny do this one lub this one: będzie pobrać wszystkie rewizje dla danej branży, dzięki czemu można je policzyć.

{ 
    repository(name: "sickvim", owner: "jonathansick") { 
    ref(qualifiedName: "master") { 
     target { 
     ... on Commit { 
      id 
      history(first: 5) { 
      pageInfo { 
       hasNextPage 
      } 
      edges { 
       node { 
       oid 
       }... 
+0

Dzięki kolego, Ale spróbowałem czegoś takiego i dostałem następną odpowiedź: '' '{ "dane": null, "błędy": [ { "message" : "Żądanie 101 zapisy na połączenia przekracza' first' limit 100 rekordów." } ] }' '' – yershalom

+0

Jakie polecenia użyłeś? – VonC

+0

Cześć, Używany w ten sposób: '' '{ repozytorium (nazwa: "sickvim" właściciel "jonathansick") { ref (qualifiedName: "master") { cel { ... na Commit { id historii (pierwsza: 101) { pageInfo { hasNextPage } krawędzie { node { messageHeadline oid wiadomość autor { nazwa email data } } } } } } } } } '' – yershalom