问题描述
我正在开发使用python的Web服务器,该服务器从github webhook获取特定事件(推送,新提交,pull requset等)的有效负载。如何区分这些事件是否会抛出gson? 我已经看过有效载荷,但是什么都不喜欢..:/ 但另一方面-我有一个代码可以为push事件创建处理程序:
@ webhook.hook()#定义'push'事件的处理程序 def on_push(数据): print(“ Got push with:{0}”。format(data))
那么webhook库中是否有内置的“事件检测器”? 在网上找不到任何东西
编辑:发现以下内容:“活动类型在有效负载对象的操作属性中指定。” 但是我得到的有效载荷中没有关键字操作 我在github中触发的事件类型是一个提交 但是我所有进入有效负载的内容都说:'modified':['README.md']'message':'Update README.md 没有什么直接的
解决方法
如this documentation所述,您应该能够在action
属性或X-GitHub-Event
标头值中解析事件类型
如果您愿意使用TypeScript,那么有个很棒的库可以自动处理此解析,称为Probot。
或者,如果您要坚持使用Python,则有一个类似的库:https://github.com/bradshjg/flask-githubapp