如何使用 curl 获取 git 集线器推送事件

How to get git hub push events using curl

我需要使用 curl 或 git api 为我的组织获取远程存储库中的所有推送事件。 我无法在 GitHub 中使用 web 挂钩功能,因为我的 webhook 服务器在 运行 后面 firewall.So github.com 无法调用我的 webhook url.i 需要获取 webhook 负载使用 curl

当我尝试时:-

curl -X GET -u $GITHUB_USER:$GITHUB_PASSWORD https://api.github.com/repos/:org/:repo/events

正在获取推送和创建等所有事件,我只需要推送事件

您可以将该 curl 命令的输出通过管道传输到 jq 并只挑选类型为 PushEvent 的事件,如下所示:

curl \
    -X GET \
    -u $GITHUB_USER:$GITHUB_PASSWORD \
    https://api.github.com/repos/:org/:repo/events \
  | jq '.[] | select(.type == "PushEvent")'

请注意,第二个 | 管道位于 '' 单引号内,因为它是 jq 参数的一部分。它不适用于 shell.