如何从GitHub Actions获取特定作业的历史运行记录列表?
查询特定作业历史运行记录的可行方案
方案1:使用CI平台内置过滤功能
绝大多数主流CI/CD平台(包括GitHub Actions、GitLab CI、Jenkins等)均支持直接过滤单作业的运行记录,通用操作逻辑如下:
- 进入目标仓库的CI/CD管理页面,定位到待查询作业所属的Workflow
- 进入该Workflow的详情页后,在页面顶部过滤栏选中作业名称筛选项,输入待查询的特定作业名,即可直接筛选出所有运行过该作业的Workflow记录,无需逐个点击查看
- 部分平台支持在过滤栏额外指定运行数量参数,直接设置为100即可拉取最近100次的运行结果,页面会同步展示每次运行中该作业的成功/失败状态,无需进入单条Workflow详情页查看
方案2:通过平台CLI命令批量拉取
如果内置过滤功能无法满足数据提取需求,可使用对应平台的CLI工具直接批量拉取数据,常见平台的参考命令如下:
- GitHub Actions:执行
gh run list --workflow=<你的Workflow文件名> --job=<目标作业名> --limit=100 --json conclusion,createdAt即可直接输出最近100次该作业的运行结果、创建时间等核心信息 - GitLab CI:执行
gitlab ci job list --name <目标作业名> --per-page 100即可批量获取指定作业的历史运行状态 - Jenkins:执行
java -jar jenkins-cli.jar get-job <目标作业名> history --limit 100可直接导出对应作业的历史运行结果
方案3:自定义脚本统计稳定性
如果需要长期统计作业稳定性,可基于平台开放的API编写简单脚本完成自动统计:
- 第一步调用平台的Workflow运行列表接口,拉取最近100条运行记录
- 第二步遍历每条运行记录的作业详情接口,匹配目标作业名,提取对应运行的成功/失败状态
- 第三步自动计算作业运行成功率,可直接用于判断是否满足设置为必填项的稳定性要求
内容的提问来源于stack exchange,提问作者VladasZs
相关产品推荐
相关产品推荐

