所以我一直在阅读GitHub开发人员文档和webhooks,他们有以下声明:
Webhooks允许您构建或设置订阅GitHub.com上某些事件的GitHub应用程序。当其中一个事件被触发时,我们会将HTTP POST有效负载发送到webhook配置的URL。 Webhooks可用于更新外部问题跟踪器,触发CI构建,更新备份镜像,甚至可以部署到生产服务器。你只受想象力的限制。
然而,关于Apps,他们也得到了这样的陈述:
GitHub上的应用程序可以扩展和改进现有的工作流程。人们可以 从GitHub Marketplace购买应用程序或浏览有用的工具和 与GitHub中的GitHub集成的服务。
如果您正在构建或添加集成,那么本文档将会 帮助您启动并运行。
有关GitHub的支持请求,错误报告和讨论 应用(不是OAuth应用),使用GitHub平台论坛。论坛允许 您可以与其他集成商以及工程师和他们合作 来自GitHub的产品经理。
如果您的请求是关于OAuth Apps的,或者您需要讨论 私人关注,请直接联系支持。
似乎Webhooks只能与GitHub应用程序一起使用? GitHub应用程序和GitHub OAuth应用程序之间的区别不是很清楚,我不明白为什么OAuth应用程序无法使用Webhooks?
答案 0 :(得分:0)
Webhooks可以与GitHub OAuth应用程序一起使用吗?
是
Webhooks允许您构建或设置订阅GitHub.com上某些活动的GitHub应用程序。
这是一个不正确的陈述。这应该是“与GitHub集成”而不是“GitHub应用程序”。
似乎Webhooks只能与GitHub应用程序一起使用?
没有。 GitHub应用程序包括对Webhooks的隐式支持。 OAuth应用程序请求的代码的范围为write:repo_hook
或admin:org_hook
到register a Webhook on the Repository or Organization。
有creating webhooks的指南建议use the repo hooks
or org hooks
API endpoints。
GitHub应用程序和GitHub OAuth应用程序之间的区别不是很清楚,我不明白为什么OAuth应用程序无法使用Webhooks?
有描述some differences between GitHub Apps and OAuth Apps.
的文档GitHub应用程序的TLDR优势:
Webhooks允许您的服务器/应用程序在特定事件发生时得到通知 - 无论您使用的是OAuth还是GitHub应用程序。然后,您的申请需要处理event并采取相应行动。
另外,您的应用程序需要与GitHub的API交互以创建,读取,编辑或删除信息。 GitHub通常需要credentials来访问或更新特定信息。对GitHub API的身份验证可以使用多种方法:
传统GitHub集成与GitHub应用程序之间存在其他差异。
较旧的集成基于Oauth2并使用与用户帐户关联的令牌。集成将代表用户与GitHub的API交互 - 这就是为什么有些组织会设置machine user。 Webhooks也需要明确添加。
GitHub Apps将代表自己与GitHub的API进行互动。您必须明确授予对组织或存储库的GitHub App访问权限,该组织或存储库启用Webhook和API访问。