【问题标题】:Using Ruby & Github API to filter commits by date使用 Ruby & Github API 按日期过滤提交
【发布时间】:2012-09-20 20:42:17
【问题描述】:

我正在使用实现 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 返回在发布当天对指定 repo 所做的提交。

【问题讨论】:

    标签: ruby github jekyll


    【解决方案1】:

    joeyw gives a great answer to this question here

    第二个参数应该是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
    

    工作得很好。 Here's my corresponding jekyll plugin

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-31
      • 2014-06-29
      • 1970-01-01
      • 2016-05-09
      • 1970-01-01
      • 2015-07-02
      • 1970-01-01
      • 2019-03-25
      相关资源
      最近更新 更多