5

对于我们组织的仪表板,我想记录我们所有存储库中所有打开的 PR。目前,我所要做的就是遍历所有 repos,并像这样计算每个 repo 上所有打开的 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 

我知道必须有一个更好的方法来解决这个问题。有任何想法吗?(缺少屏幕刮擦!)

4

1 回答 1

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

一旦你记住拉取请求也是问题,一切就都到位了。

于 2013-08-14T07:19:05.860 回答