我使用 Github设置/挂钩标签中的相同有效负载网址和有效负载正文测试了 curl 和 postman 。
它在curl和postman中运行良好,但它不会在Github设置/钩子上运行,并且会出现服务超时等错误。
PS。我使用了Github企业主机,API和存储库。
答案 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文件。