2013-08-13 13 views
5

Per il dashboard della nostra organizzazione, vorrei tenere un conteggio di tutti i PR aperti su tutti i nostri repository. Al momento, tutto quello che ho è quello di scorrere tutti i pronti contro termine, e contare attraverso tutte le PR aperte su ciascun pronti contro termine in questo modo (il che si traduce spesso in un errore di limite di velocità):Ottieni tutte le richieste pull da un'organizzazione utilizzando l'API Github Ruby gemma

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 

So che ci deve essere un modo più bello intorno a questo. Qualche idea? (a corto di raschiatura dello schermo!)

risposta

7

OK, quindi penso di averlo rotto adesso. Tirare le richieste sono problemi, in modo da poter ottenere tutte le questioni, ed il ciclo attraverso i problemi in questo modo:

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 

Una volta che si ricorda che le richieste di pull sono questioni troppo, tutto solo si mette a posto.

+0

Ha funzionato per me. Grazie. –

Problemi correlati