如何使用 Webhook 节点实现数据同步和事件触发

Webhook是什么?

顾名思义,Hook是钩子,那么Webhook 就是一个基于 HTTP 协议的钩子。API和Webhook的区别是,API是主动调用服务,而Webhook是当事件发生时反向调用。

图片[1]-如何使用 Webhook 节点实现数据同步和事件触发-趣考网

各种服务就可以用Webhook的形式进行集成。

图片[2]-如何使用 Webhook 节点实现数据同步和事件触发-趣考网

Webhook实现细节

Webhook本质是当上游系统事件触发时向下游系统发送的一个HTTP请求。

图片[3]-如何使用 Webhook 节点实现数据同步和事件触发-趣考网

众所周知,HTTP请求结构如上图所示。建木SaaS版流水线提供的Webhook非常灵活!可以接收并适配市面上绝大多数的Webhook请求。那么它是如何做的这一点的呢?

首先,我们将所有的HTTP请求保存为Json格式,然后用户就可以使用js/ts语法进行提取,根据提取的位置不同,提取规则如下:

参数类型

提取方式

说明

Header

header.xxx或header.[‘xxx-xxx’]

提取请求头中的参数,其中header为关键字,表示请求头

Query

query.xxx或query.[‘xxx-xxx’]

提取QueryString中的参数,其中query为关键字,表示url上的参数

Body

body.json.xxx或body.json.[‘xxx-xxx’]

提取请求体中的参数,其中body.json为关键字,表示请求的Content-Type为application/json

body.form.xxx或body.form.[‘xxx-xxx’]

提取请求体中的参数,其中body.form为关键字,表示请求的Content-Type为application/x-www-form-urlencoded

body.text

提取请求体内容,其中body.text为关键字,表示请求的Content-Type为text/plain

最后,我们把提取出来的值赋予一个新声明的参数,即可在后续使用中进行引用。

图片[4]-如何使用 Webhook 节点实现数据同步和事件触发-趣考网

但是要提取header里的xxx-xxx就按下图填写。

图片[5]-如何使用 Webhook 节点实现数据同步和事件触发-趣考网

Webhook示例

如图所示,首先获取流水线Webhook地址。

图片[6]-如何使用 Webhook 节点实现数据同步和事件触发-趣考网

然后在gitee代码仓库中配置Webhook后提交代码可触发流水线。

图片[7]-如何使用 Webhook 节点实现数据同步和事件触发-趣考网

图片[8]-如何使用 Webhook 节点实现数据同步和事件触发-趣考网

复制链接:https://devops.jianmuhub.com,快来体验吧!!!!

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享