webhook是什么意思?

时间:2014-04-14 05:13:14

标签: javascript node.js webhooks

我已阅读http://en.wikipedia.org/wiki/Webhook,但我仍不清楚webhook概念。
我对webhook有如下疑虑:
1.任何人都可以用现实世界的例子来解释webhook的用途吗?
2.为什么我应该在申请中使用webhook?

2 个答案:

答案 0 :(得分:4)

正如维基百科文章所提到的,一个优秀的现实世界的例子是像github这样的源代码库。假设您正在使用github来管理您的源代码,并使用一个单独的工具(bamboo,jenkins等)来执行持续集成。每次将代码推送到github时,都希望它在CI工具中触发构建。我们将如何实现这一目标?

鉴于这个话题,答案是#webhooks'

,这应该不足为奇。

Github提供各种webhook触发器。有关其文档,请参阅https://developer.github.com/webhooks/ - 具体示例可能有所帮助。但是,简而言之,每个webhook都包含:

  • 触发挂钩的事件(例如'代码被推送到存储库')
  • github应在事件发生时向其发送请求的URL(例如CI包中的传入触发点)
  • 有效内容(将发送到所选网址的请求正文)。

重要的是,github并不知道您正在使用的CI系统。它并不关心。它知道在其域中发生的事件,并且由外部系统来注册其兴趣并决定如何处理该通知。这创建了一个高度通用和可扩展的接口,并避免要求git对可能想要对其事件作出反应的人或事做出任何(可能有限的)假设。

答案 1 :(得分:1)

简单来说,webhooks是扩展点,允许其他人扩展您的应用程序。

您将定义webhooks(扩展点),用户将使用这些钩子注册其功能,每当到达这些扩展点时,您的应用程序将调用用户注册的功能。