2

如何从 curl 或 github cli 创建 webhook?

这个文档。没有多大帮助: https ://docs.github.com/en/rest/reference/repos#create-a-repository-webhook--code-samples

试过这个:

curl -u <user>:<token>\
    -X POST \
    -H "Accept: application/vnd.github.v3+json" \
    https://api.github.com/repos/<org>/<repo>/hooks \
    -d '{"name":"name"}'

给我留下了一些问题:

  • 什么是-d '{"name":"name"}'
  • 怎么添加配置

错误:

{
    "message": "Validation Failed",
    "errors": [
    {
        "resource": "Hook",
        "code": "custom",
        "message": "Config must contain URL for webhooks"
    }
    ],
    "documentation_url": "https://docs.github.com/rest/reference/repos#create-a-repository-webhook"
}
4

1 回答 1

1

使用卷曲

您可以使用以下内容创建 webhook:

curl "https://api.github.com/repos/<org>/<repo>/hooks" \
     -H "Authorization: Token YOUR_TOKEN" \
     -d @- << EOF
{
  "name": "web",
  "active": true,
  "events": [
    "push"
  ],
  "config": {
    "url": "http://some_webhook.ngrok.io/webhook",
    "content_type": "json"
  }
}
EOF

从此文档中,name属性应该具有值web

姓名 类型 描述
姓名 细绳 身体 使用 web 创建 webhook。默认值:网络。该参数只接受值 web。

此处列出了可能的 webhook 事件

使用 Github CLI

gh api /repos/<org>/<repo>/hooks \
   --input - <<< '{
  "name": "web",
  "active": true,
  "events": [
    "watch"
  ],
  "config": {
    "url": "https://some_webhook.ngrok.io/webhook",
    "content_type": "json"
  }
}'

结帐gh api

于 2021-10-08T14:39:21.947 回答