Webhooks起初看起来像是API,但它们略有不同。它们之间的紧张差异在于,webhooks不须要发出要求即可得到相应,而API则须要发送要求才能得到相应。利用Webhooks可以吸收,而API须要您检索。
一个示例是GitHub Webhook与GitHub API。对付GitHub API,您每次须要信息时都须要发送GET要求。与GitHub Webhook比较,在GitHub webhook中,您可以打开并添加URL来发送POST数据。精确设置了Webhook之后,无论何时更新GitHub上的信息,数据都会自动发送到您在Webhook设置中拥有的URL。
为了更好地解释,我们可以看两种情形:利用Webhook和利用API。

利用API:假设我们想要某个做事的Github存储库的最新提交日期。首先GitHub Service API须要对GitHub存储库所有者帐户进行身份验证,然后可以为GET要求的精确端点调用最新的提交日期。
利用 Webhook : GitHub Service Webhook将须要创建自己的Webhook URL,然后将该URL放入GitHub存储库的设置中。设置好该URL后,无论何时在存储库上发生任何事宜,GitHub都会将包含所有更新数据的POST要求发送到我们的webhook URL。如果Webhook正在运行,则可以轻松地在做事上显示Webhook数据中的最新提交日期。
如上图所示,利用Webhook可使数据检索更加自动化。每当有更新时,GitHub Webhooks会将数据移交给我们的做事,而GitHub API哀求我们从GitHub检索数据。
Webhooks的一些缺陷是兼容性和支持。由于API更详细和手动,因此很随意马虎从A点到B点快速集成它们。某些做事尚不支持Webhooks,这使得设置它们更加困难。每个做事常日都会供应一个API。
#DevOps# #持续集成# #软件开拓#