You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过命令行查询GitLab当日产生的全部push事件

GitLab命令行查询当日所有push事件操作指南

原有命令问题说明

你当前使用的是项目标签操作接口,请求方法为POST,用途是创建指定版本的项目标签,和查询push事件完全无关,因此无法返回对应结果。

前提准备

  • 提前申请GitLab个人访问令牌(PAT),权限范围勾选read_api即可,查询全实例事件需要管理员权限的令牌
  • 确认你要查询的目标项目ID,或确认需要查询整个GitLab实例的所有事件

操作命令

单项目当日push事件查询

使用GitLab事件查询接口,指定过滤push动作和当日起始时间即可,命令如下:

# Linux环境执行
curl --header "PRIVATE-TOKEN: 替换为你的实际PAT" "https://gitlab.com/api/v4/projects/389/events?action=pushed&after=$(date -d 'today 00:00:00' +%Y-%m-%dT%H:%M:%SZ)&per_page=100"

# macOS环境执行
curl --header "PRIVATE-TOKEN: 替换为你的实际PAT" "https://gitlab.com/api/v4/projects/389/events?action=pushed&after=$(date -v0H -v0M -v0S +%Y-%m-%dT%H:%M:%SZ)&per_page=100"

参数说明:

  • action=pushed:仅返回push类型的事件
  • after参数值为当日0点的ISO8601格式时间,确保只返回当日产生的事件
  • per_page=100:调整单页返回条数,最大支持100,若事件超过100条可读取返回头的x-next-page字段,拼接page=页码参数查询下一页
  • 如果你使用私有部署的GitLab,将域名gitlab.com替换为你实际的GitLab实例域名即可

全实例当日push事件查询

如果需要查询整个GitLab实例所有项目的当日push事件,将接口路径替换为全局事件接口即可,需要管理员权限的PAT:

# Linux环境示例
curl --header "PRIVATE-TOKEN: 替换为你的管理员PAT" "https://gitlab.com/api/v4/events?action=pushed&after=$(date -d 'today 00:00:00' +%Y-%m-%dT%H:%M:%SZ)&per_page=100"

结果格式化

如果需要更易读的格式化输出,可以安装jq工具后在命令末尾拼接| jq .,即可将返回的JSON结构格式化打印。

内容的提问来源于stack exchange,提问作者Anjan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 14:54:03