3

我正在使用实现 Github API v3的ruby​​ gem 'octokit' 。大多数情况下效果很好,但我似乎无法按日期过滤。我相信我的语法和时间格式是正确的,但似乎我的选项被忽略了,API 返回过去的 35 个条目,无论从开始日期还是截止日期。

这是一个最小的可重现示例(在安装 octokit gem 之后)。

require 'octokit'
require 'time'

@day = "2012-09-27"
@until = DateTime.parse(@date).iso8601
@since = (DateTime.parse(@day) - 60*60*48).iso8601
a = Octokit.commits({:username => "cboettig", :repo => "labnotebook", :since => @since, :until => @until})

查看最后一个条目的输出日期

a.last.commit.author.date

明确的一天也不起作用

b = Octokit.commits({:username => "cboettig", :repo => "labnotebook", :since => "2012-09-27T00:00:00+00:00"})

b.last.commit.author.date

我在这两个例子中得到的日期都是从八月开始的,超出了给定的指定范围。我错过了什么?

背景:我正在尝试编写一个小的 Jekyll 插件,该插件使用 API 返回在发布当天对指定仓库所做的提交。

4

1 回答 1

2

joeyw 在这里对这个问题给出了很好的回答

第二个参数应该是 sha 或分支,options 应该是第三个参数,例如

Octokit.commits("cboettig/labnotebook", "master", :since => "2012-09-28T00:00:00+00:00").length

或者

Octokit.commits("cboettig/labnotebook", nil, :since => "2012-09-28T00:00:00+00:00").length

工作得很好。 这是我对应的jekyll插件

于 2012-09-30T20:40:43.517 回答