对GitLab API的一些请求(例如列出合并请求(https://docs.gitlab.com/ee/api/merge_requests.html#list-merge-requests))允许针对此特定示例的datetime
类型(created_after
和created_before
参数的URL查询参数)
我似乎无法找到适合datetime
param的格式。时间戳(有毫秒和无毫秒)都不起作用,ISO格式也不行2017-06-29T11:00:00.000Z
。
也许这个查询参数根本不起作用?
答案 0 :(得分:1)
找到原因:created_before
和created_after
参数虽然在官方API文档中列出和描述,但尚未包含在任何已发布的版本中。
从GitLab版本9.3.5开始,它仍列在unreleased
下:
https://github.com/gitlabhq/gitlabhq/commit/9fe6c2b2c2dd92831c93297021b41d6721e4b201
答案 1 :(得分:0)
尝试使用ISO8601时间戳,因此请删除纳秒并包含时区:
2017-06-29T11:00:00+00:00
用于引用ruby DateTime
类,因为这个类在Gitlab中使用。
https://ruby-doc.org/stdlib-2.3.1/libdoc/date/rdoc/DateTime.html
Gitlab的合并请求API类:
https://gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/api/merge_requests.rb
答案 2 :(得分:0)
这是适用于我的时间格式(标准ISO-8601):
three_weeks_ago = (datetime.datetime.now(timezone.utc)- timedelta(days=21)).isoformat() .
mrs = request(f'/merge_requests?state=merged&created_after={three_weeks_ago}&per_page=100')
答案 3 :(得分:0)
在Gitlab 12.6.4-ee(企业版)中,当URL起作用时,ISO8601日期时间格式(例如“ 2020-02-12T00:08:15Z”和“ 2020-02-12T00:07:15 + 01:00”)可以工作-编码。因此,“ 2020-02-12T00:08:15Z”->“ 2020-02-12T00%3A08%3A15Z”和“ 2020-02-12T00:07:15 + 01:00”->“ 2020-02-12T00 %3A07%3A15%2B01%3A00”。因此,完整的(伪)URL示例将为:https://gitlab.mycompany.com/api/v4/projects/myproject/merge_requests?updated_after=2020-02-12T00%3A07%3A15%2B01%3A00