GitHub API筛选工作流运行:created参数不生效问题排查(含Python实现)
问题原因
你错误地将status和created筛选条件塞进了q参数中,而GitHub API的List workflow runs接口里,这两个是独立的查询参数,并非文本搜索关键词的一部分,导致日期筛选规则无法被API正确解析。
正确的请求方式
curl命令
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <TOKEN>" \ "https://<base url>/api/v3/repos/<org>/<repo>/actions/runs?status=completed&created=>=2022-10-10T00:00:00Z&per_page=100"
Python请求代码
推荐用params字典传递参数,避免手动拼接URL的编码问题:
import requests url = "https://<base url>/api/v3/repos/<org>/<repo>/actions/runs" headers = { "Authorization": "Bearer <TOKEN>", "Accept": "application/vnd.github+json" } params = { "status": "completed", "created": ">=2022-10-10T00:00:00Z", "per_page": 100 } res = requests.get(url, headers=headers, params=params)
补充说明
created参数需要遵循ISO 8601格式,建议带上时间和时区标识(如2022-10-10T00:00:00Z),确保筛选逻辑精准。q参数仅用于文本搜索(比如匹配工作流名称、提交信息里的关键词),不要用来传递状态、时间这类专用筛选条件。
内容的提问来源于stack exchange,提问作者Panda
相关产品推荐
相关产品推荐

