使用Github API Ruby gem从组织获取所有打开拉取请求

Pez*_*lio 5 ruby github github-api

对于我们组织的仪表板,我想保留所有存储库中所有开放PR的计数.目前,我所拥有的只是循环遍历所有的回购,并计算每个回购中的所有打开的PR,如此(这通常会导致速率限制错误):

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 
Run Code Online (Sandbox Code Playgroud)

我知道必须有一个更好的方法围绕这个.有任何想法吗?(除了屏幕刮擦!)

Pez*_*lio 7

好的,所以我想我现在已经解决了这个问题.拉请求是问题,所以我可以解决所有问题,并循环解决这样的问题:

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
Run Code Online (Sandbox Code Playgroud)

一旦你记得拉动请求也是问题,一切都会落到实处.