使用PyGitHub按指定日期查询GitHub提交返回0结果的问题
问题分析与解决
你的问题出在GitHub搜索语法的格式错误上——since参数应该用冒号:分隔,而不是等号=。
原代码里的查询语句:
query = f'org:{org_name} author:{username} since=2021-10-19T00:00:00Z'
正确的写法应该是:
query = f'org:{org_name} author:{username} since:2021-10-19T00:00:00Z'
GitHub的搜索语法里,所有筛选条件(比如org、author、since)都是用键:值的格式,用等号的话GitHub无法识别这个参数,相当于无效筛选,最终导致返回0条结果。
另外补充两个实用注意点:
- 确保时间格式符合ISO 8601标准(你当前的
YYYY-MM-DDTHH:MM:SSZ格式是对的),末尾的Z表示UTC时区,避免因时区差异漏查提交。 - PyGitHub的
search_commits返回的是PaginatedList对象,直接打印看不到实际内容,需要用list(commits)或者循环遍历才能获取具体提交数据。
对于增量查询的需求,你可以每次查询后记录下结果中最新的commit.author.date(转成UTC的ISO格式),下次查询时把这个时间作为since的值,就能只获取上次查询后的新提交了。
内容的提问来源于stack exchange,提问作者Darren Oakey
相关产品推荐
相关产品推荐

