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

2024年 4月 22日 40.3k 0

Webhook是什么?

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

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

Webhook实现细节

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

众所周知,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

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

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

Webhook示例

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

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

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

相关文章

塑造我成为 CTO 之路的“秘诀”
“人工智能教母”的公司估值达 10 亿美金
教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
上海新增 11 款已完成登记生成式 AI 服务

发布评论