我设置了 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,
.....
}
刚刚遇到同样的问题。您似乎正在使用以下网址: http://056b05cb.ngrok.io/github-webhook
只需将其切换到 http://056b05cb.ngrok.io/github-webhook/(注意后面的
/
)
如果您在浏览器上点击不带
/
的网址,则会收到 302,浏览器将简单地重定向。但 webhook 不遵循重定向,因此它只是告诉您响应是什么,即 302 重定向。
请使用 https://domain/github-webhook/ 编辑你的 hook jenkins
注意最后一个网址中的尾随 /
由于“/”,它会抛出 HTTP 状态代码 302 错误,请删除旧的 Web-hook 并使用“/”添加新的 Web-hook