Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins github插件返回错误400“;钩子应该包含事件类型;_Github_Jenkins_Jenkins Plugins - Fatal编程技术网

Jenkins github插件返回错误400“;钩子应该包含事件类型;

Jenkins github插件返回错误400“;钩子应该包含事件类型;,github,jenkins,jenkins-plugins,Github,Jenkins,Jenkins Plugins,在我的公司,我们有一个Github企业实例,它使我们所有的源代码保持一致,Jenkins服务器可以进行持续集成。我正在Jenkins上使用Jenkins github插件,并在github上安装一个服务来调用MYJENKINS/github webhook 我会在jenkins服务器上看到来自github的帖子,但什么都不会发生。访问日志报告返回github的400错误 为了找出返回的内容,我将tcpdump放在端口上。我现在看到Jenkins正在返回“Error 400 Hook应该包含事件类

在我的公司,我们有一个Github企业实例,它使我们所有的源代码保持一致,Jenkins服务器可以进行持续集成。我正在Jenkins上使用Jenkins github插件,并在github上安装一个服务来调用MYJENKINS/github webhook

我会在jenkins服务器上看到来自github的帖子,但什么都不会发生。访问日志报告返回github的400错误

为了找出返回的内容,我将tcpdump放在端口上。我现在看到Jenkins正在返回“Error 400 Hook应该包含事件类型”。它将为所有存储库事件返回该值

我可能可以使用tcpdump捕获github POST负载,但还没有这样做

我目前唯一的猜测是,我们的Github企业版安装比Jenkins Github插件预期的版本要早


更新:作为一个实验,在Github上,我将调用从服务(“Jenkins Github插件”)更改为Webhook,但使用相同的URL MY_Jenkins/Github Webhook/。成功后,github插件会成功解析,并触发正在监视项目/分支的作业。

github Enterprise应该内置webhook功能,所以我有点不确定在github上安装服务是什么意思

通过转到以下选项卡,可以设置新的Webhook:

以下是一个屏幕截图:

另一个要检查的地方是Jenkins中的设置,以确保它已设置为与Github一起工作。

在这里,您需要提供Github的凭据以及Github api url:


我已经有一段时间没有这样做了,所以如果我有任何错误,请随时纠正我。

是的,你的帖子才有效。:)但是,实现这一功能还有另一条途径,可能是一条误导性的途径:在Github存储库设置页面的那一部分,有“Webhooks&SERVICES”。在服务部分(不是webhook)下有一个名为“Jenkins(Github插件)”的服务,它有在Jenkins上使用/Github webhook/endpoint的说明。如果我使用这项服务,调用就会失败,出现我在问题中提到的400个错误。谢谢你的精心设计!感谢您的精彩帖子,但假设在将更改推送到github时触发了作业。现在,我如何在jenkins中获得有效载荷,以便进行解析以获得必要的信息。对于bitbucket,我们可以直接在jenkins中使用有效负载变量,但在github中找不到
https://github-enterprise.com/my-org/myrepo >> Settings >> Webhooks & services
Jenkins >> Manage Jenkins >> Configure System >> Find: GitHub Plugin Configuration
https://<github-enterprise.com>/api/v3/
Github >> Personal settings >> Personal access tokens