Github webhook错误:我们无法提供此有效负载:服务超时

时间:2018-01-21 04:18:26

标签: github webhooks

enter image description here

我使用 Github设置/挂钩标签中的相同有效负载网址和有效负载正文测试了 curl postman

它在curl和postman中运行良好,但它不会在Github设置/钩子上运行,并且会出现服务超时等错误。

PS。我使用了Github企业主机,API和存储库。

3 个答案:

答案 0 :(得分:0)

原因是我的企业github实例上的不可接受的端口。 它适用于更改我的企业github允许的有效端口。 谢谢,bglee

答案 1 :(得分:0)

我尝试了你的提示并使用Postman来模仿Github网络钩子。它对我也有用。我推送到我的repo 的下一个提交触发了一个有效的Web挂钩而没有任何更改。现在Webhookland的一切都很好。

答案 2 :(得分:0)

我遇到了同样的问题,所以我将完整地描述我是如何工作的。 我假设你有一个AWS EC2服务器应该听你的github。如果您希望在localhost上执行相同操作,则需要使用ngrok

转发端口

同样的听众是 -

import web as webpy

urls = ('/.*', 'hooks')

app = webpy.application(urls, globals())

class hooks:
    def POST(self):
        data = webpy.data()
        print ('\nDATA RECEIVED:')
        print (data)
        return 'OK'

if __name__ == '__main__':
    app.run()

将其保存为listen.py并使用pip安装依赖项。 (确保你使用pip3 for python3)。 python3的web模块可以通过 -

安装
pip3 install web.py==0.40-dev1

使用SSH连接到您的服务器并运行

python3 listen.py 1234

这将在端口1234上启动侦听器(确保在AWS安全组中打开此端口)

现在您的服务器已设置好并准备好侦听端口1234.使用邮递员检查相同内容。如果听众回复 -

DATA RECEIVED:
b''
157.51.203.128:49935 - - [26/May/2018 14:46:43] "HTTP/1.1 POST /" - 200 OK

然后你就可以开始配置你的github webhook了。

转到webhook并确保配置

有效内容网址:http://ServerIpV4PublicIp:1234/ 内容类型:application / json 秘密: 选择 - 发送一切 选择活动

现在更新/保存webhook并尝试推送到你的github存储库,并等待服务器监听并打印json文件。