我正在使用ruby Ocktokit
来获取部署(list_deployments)。目前,它只列出了最新的30个。我需要根据有效负载对其进行过滤,并且需要访问到目前为止的所有部署。
Github Api在标题中提供了一个链接以访问下一页。 Ocktokit中有类似的东西吗?
client = Octokit::Client.new(
:access_token => ENV.fetch("GITHUB_TOKEN"),
)
repo = "repo_name"
env = "env_name"
options = {
:environment => env,
:task => "task_name"
}
deployments = client.deployments(repo, options)
答案 0 :(得分:0)
Octokit提供了pagination,而且还提供了自动分页功能。
您也许可以执行以下操作:
client.auto_paginate = true
deployments = client.deployments 'username/repository' # same as list_deployments
deployments.length
更新:尽管有文档记录,但我在本地对此进行了测试,并以这种方式进行分页,但是对于部署而言,它无法正常工作。您需要手动获取部署。
deployment documentation表示列出所有部署应该是最新版本。
如果这不起作用,则可能需要手动进行:
# fetch your first list of deployments
deployments = client.deployments 'username/repository'
while true
begin
deployments.concat client.last_response.rels[:next].get.data
puts deployments.length
break if deployments.length > 500
rescue StandardError
puts 'quitting'
end
end
puts deployments.length