八爪鱼 GitHub API
Octokit GitHub API
我想获取特定 GitHub 代表的拉取请求和问题的数量。目前我使用的方法真的很笨拙
使用 octokit gem 和以下代码:
# Builds data that is sent to the API
def request_params
data = { }
# labels example: "bug,invalid,question"
data["labels"] = labels.present? ? labels : ""
# filter example: "assigned" "created" "mentioned" "subscribed" "all"
data["filter"] = filter
# state example: "open" "closed" "all"
data["state"] = state
return data
end
Octokit.auto_paginate = true
github = Octokit::Client.new(access_token: oauth_token)
github.list_issues("#{user}/#{repository}", request_params).count
接收到的数据非常大,所以在内存方面非常低效。我不需要关于问题的数据,只需要有多少问题,X 问题(基于过滤器/状态/标签)。
我想到了一个解决方案,但无法实施。
基本上:执行 1 个请求以获取 header,在 header 中应该有一个 link 到最后一页。然后再向最后一页发出 1 个请求,并检查有多少问题。那么我们可以计算:
count = ( number of pages * (issues-per-page - 1) ) + issues-on-last-page
但我没有找到如何从 octokit 身份验证客户端获取请求 header 信息。
如果有没有octokit的简单方法,我会很乐意使用它。
注意:我想解决这个问题,因为 pull requests 的数量相当多,而且上面的代码在 Heroku 上会产生 R14 错误。
谢谢!
我觉得一个简单的方法是使用 GitHub API 并使用 per_page 过滤器限制您希望在页面中显示的 PR 数量。例如:要找出 repo OneGet/oneget 的所有 PR,您可以使用.. https://api.github.com/search/issues?q=repo:OneGet/oneget+type:pr&per_page=1
。 JSON 响应具有字段 "total_count",它给出了 PR 总数的计数。由于只列出一个问题,因此响应会相对较轻。
参考:Search Issues
我想获取特定 GitHub 代表的拉取请求和问题的数量。目前我使用的方法真的很笨拙
使用 octokit gem 和以下代码:
# Builds data that is sent to the API
def request_params
data = { }
# labels example: "bug,invalid,question"
data["labels"] = labels.present? ? labels : ""
# filter example: "assigned" "created" "mentioned" "subscribed" "all"
data["filter"] = filter
# state example: "open" "closed" "all"
data["state"] = state
return data
end
Octokit.auto_paginate = true
github = Octokit::Client.new(access_token: oauth_token)
github.list_issues("#{user}/#{repository}", request_params).count
接收到的数据非常大,所以在内存方面非常低效。我不需要关于问题的数据,只需要有多少问题,X 问题(基于过滤器/状态/标签)。
我想到了一个解决方案,但无法实施。 基本上:执行 1 个请求以获取 header,在 header 中应该有一个 link 到最后一页。然后再向最后一页发出 1 个请求,并检查有多少问题。那么我们可以计算:
count = ( number of pages * (issues-per-page - 1) ) + issues-on-last-page
但我没有找到如何从 octokit 身份验证客户端获取请求 header 信息。 如果有没有octokit的简单方法,我会很乐意使用它。
注意:我想解决这个问题,因为 pull requests 的数量相当多,而且上面的代码在 Heroku 上会产生 R14 错误。
谢谢!
我觉得一个简单的方法是使用 GitHub API 并使用 per_page 过滤器限制您希望在页面中显示的 PR 数量。例如:要找出 repo OneGet/oneget 的所有 PR,您可以使用.. https://api.github.com/search/issues?q=repo:OneGet/oneget+type:pr&per_page=1
。 JSON 响应具有字段 "total_count",它给出了 PR 总数的计数。由于只列出一个问题,因此响应会相对较轻。
参考:Search Issues