2013-08-13 24 views
5

Đối với bảng điều khiển của tổ chức của chúng tôi, tôi muốn giữ tất cả các PR mở trên tất cả các kho lưu trữ của chúng tôi. Tại thời điểm này, tất cả tôi nhận được là để lặp qua tất cả các hợp đồng mua lại, và đếm qua tất cả các PRs mở trên mỗi repo như vậy (mà thường dẫn đến một lỗi giới hạn tốc độ):Nhận tất cả các yêu cầu kéo mở từ một tổ chức sử dụng đá quý Github API Ruby

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 

Tôi biết có phải là một cách đẹp hơn vòng này. Bất kỳ ý tưởng? (viết tắt của màn hình!)

Trả lời

7

OK, vì vậy tôi nghĩ rằng tôi đã bẻ khóa này ngay bây giờ. Yêu cầu kéo là vấn đề, vì vậy tôi có thể nhận được tất cả các vấn đề và lặp lại các vấn đề như vậy:

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 

Một khi bạn nhớ rằng yêu cầu kéo cũng là vấn đề, mọi thứ sẽ diễn ra.

+0

Làm việc cho tôi. Cảm ơn. –

Các vấn đề liên quan