30

我设置了 localhost jenkins,使用 ngrok 将我的 jenkins 公开到 github。我没有设置任何凭据。当我从 webhook 测试交付时,它显示 302 not found。回复:

Content-Length: 0
Date: Mon, 16 Apr 2018 02:09:22 GMT
Location: http://056b05cb.ngrok.io/github-webhook/
Server: Jetty(9.4.z-SNAPSHOT)
X-Content-Type-Options: nosniff

要求:

Headers
Request URL: http://056b05cb.ngrok.io/github-webhook
Request method: POST
content-type: application/json
Expect: 
User-Agent: GitHub-Hookshot/d5b13bc
X-GitHub-Delivery: bdc31e52-4115-11e8-9e6b-c7d083151290
X-GitHub-Event: push
Payload
{
  "ref": "refs/heads/master",
  "before": "14e1265dc10ef64c93ee7791db7fa9ccef63279f",
  "after": "1f51b991d10af7c2b8fb4bc4c44417a57cf7bb56",
  "created": false,
  "deleted": false,
  "forced": false,
  "base_ref": null,
  .....
}
4

2 回答 2

78

刚刚遇到同样的问题。看来您正在使用网址:http: //056b05cb.ngrok.io/github-webhook

只需将其切换到http://056b05cb.ngrok.io/github-webhook/(注意尾随/

如果您在没有/浏览器的情况下点击 url,它将得到 302,并且浏览器将简单地重定向。但是 webhook 不遵循重定向,因此它只是告诉您响应是什么,即 302 重定向。

于 2018-07-26T18:38:34.470 回答
1

请使用 https://domain/github-webhook/ 编辑您的钩子 jenkins

注意最后一个网址中的尾随 /

于 2021-08-18T11:11:34.253 回答