2013-08-13 26 views
5

W panelu informacyjnym naszej organizacji chciałbym policzyć wszystkie otwarte pakiety PR we wszystkich naszych repozytoriach. W tej chwili, wszystko co mam jest do pętli przez wszystkie repo i liczyć na wszystkich otwartych PRS na każdym repo jak tak (co często prowadzi do błędu granicznego rate):Uzyskaj wszystkie otwarte żądania wyciągnięcia od organizacji za pomocą interfejsu Github API Ruby gem

connection = Github.new oauth_token: MY_OAUTH_TOKEN 

pulls = 0 

connection.repos.list(:org => GITHUB_ORGANISATION).each do |repo| 
    pulls += connection.pull_requests.list(:user => repo['owner']['login'], :repo => repo['name']).count 
end 

wiem, że musi być ładniejszy sposób wokół tego. Jakieś pomysły? (brakuje skrobania ekranu!)

Odpowiedz

7

OK, więc myślę, że teraz to rozwikłem. Wyciągnij wnioski są problemy, więc mogę uzyskać wszystkie problemy i pętli kwestii tak:

pulls = 0 
issues = connection.issues.list(:org => GITHUB_ORGANISATION, :filter => 'all', :auto_pagination => true) 
issues.each do |issue| 
    if issue["pull_request"] 
    pulls += 1 
    end 
end 

Po pamiętać, że wnioski wysuwane są też problemy, wszystko po prostu wraca na swoje miejsce.

+0

Pracowałem dla mnie. Dzięki. –