Webhooks可以与GitHub OAuth应用程序一起使用吗?

时间:2017-07-02 20:16:02

标签: github oauth webhooks

所以我一直在阅读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?

1 个答案:

答案 0 :(得分:0)

修改

  

Webhooks可以与GitHub OAuth应用程序一起使用吗?

  

Webhooks允许您构建或设置订阅GitHub.com上某些活动的GitHub应用程序。

这是一个不正确的陈述。这应该是“与GitHub集成”而不是“GitHub应用程序”。

  

似乎Webhooks只能与GitHub应用程序一起使用?

没有。 GitHub应用程序包括对Webhooks的隐式支持。 OAuth应用程序请求的代码的范围为write:repo_hookadmin:org_hookregister 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访问。