使用GitHub GraphQL v4 API获取提交时GitTimestamp参数报错排查
Fixing the "Invalid GitTimestamp" Error in GitHub GraphQL API
你遇到的这个问题根源在于GitHub GraphQL API的GitTimestamp标量对格式的要求比通用ISO-8601更严格——它必须是包含完整时区信息、精确到秒的标准ISO-8601字符串,你的那些格式要么缺要素,要么格式不符合规范。
为什么你的格式都无效?
咱们逐个看你尝试的格式问题:
2017-07-15:只提供了日期,缺少时间部分和时区标识2017/01/01、2017.01.01:日期分隔符必须是-,不能用/或.2017-01-01 01:01:时间与日期之间必须用T分隔,且缺少时区和秒数2017-01-01T01:01:缺少秒数和时区信息2017-01-01 01:01Z:日期和时间之间应该用T而非空格,且缺少秒数2017-01-01T01:01Z:缺少秒数(必须精确到秒)
正确的GitTimestamp格式
GitHub要求的格式是:YYYY-MM-DDTHH:MM:SSZ,其中:
Z代表UTC时区(你也可以用带偏移的格式比如2017-07-15T00:00:00+08:00,但Z是最通用的)- 必须精确到秒,不能省略秒数
修改后的查询示例
把你的since参数改成符合要求的格式即可,比如:
query { search(query:"is:public", type:REPOSITORY, first:10){ edges{ node{ ... on Repository{ ref(qualifiedName: "master"){ target{ ... on Commit{ history(first: 10, since:"2017-07-15T00:00:00Z"){ totalCount pageInfo{ startCursor endCursor } edges{ node{ ... on Commit{ committedDate } } } } } } } } } } } }
额外小提示
如果之后查询不到提交数据,记得检查仓库的默认分支是否是master——现在很多仓库已经改用main作为默认分支了,这时候需要把qualifiedName改成main。
内容的提问来源于stack exchange,提问作者FTM
相关产品推荐
相关产品推荐

