创建 webhook 时如何给 GitHub 一个带有端口号的 url

How to give GitHub a url with a port number when creating a webhook

我想使用 GitHub webhooks,但是 GitHub 从我提供的 url 中剥离了端口号,所以它们不起作用。这似乎是一个新事物,因为它曾经有效。有什么办法告诉 GitHub 保留端口号吗?

注意:我正在通过 API

创建 webhook

我不认为端口号被剥离了。

POST https://api.github.com/repos/my-name/my-repo/hooks

与 body:

{
  "name": "web",
  "active": true,
  "events": [
    "push",
    "pull_request"
  ],
  "config": {
    "url": "http://example.com:345/webhook",
    "content_type": "json"
  }
}

创建 WebHook:

顺便说一句,在这个页面上 GitHub 呈现 url 没有端口号。

但是如果你点击 "Edit" 按钮:

显示端口号。

如果你执行

,你会得到同样的结果
GET https://api.github.com/repos/my-name/my-repo/hooks



  {
    "url": "https://api.github.com/repos/my-name/my-repo/hooks/7221574",
    "test_url": "https://api.github.com/repos/my-name/my-repo/hooks/7221574/test",
    "ping_url": "https://api.github.com/repos/my-name/my-repo/hooks/7221574/pings",
    "id": 7221574,
    "name": "web",
    "active": true,
    "events": [
      "push",
     "pull_request"
    ],
    "config": {
    "url": "http://example.com:345/webhook",
    "content_type": "json"
    },
    "last_response": {
    "code": 504,
    "status": "timeout",
    "message": "Service Timeout",
    },
    "updated_at": "2016-02-08T09:37:45Z",
    "created_at": "2016-02-08T09:37:45Z"
    }
}

确保:

  1. 你post有效url
  2. Body有效json
  3. 您有权创建 webhook
  4. 您可以使用简单客户端(Postman、高级 REST 客户端)创建它
  5. 您的 GitHub 客户端库没有删除端口号