如何使用 Webhook 节点实现数据同步和事件触发
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,快来体验吧!!!!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
中学生开源的前端动画引擎 NewCar 加入 Dromara 社区
关于作者 我与编程 居住在安徽六安,是一个高中生,目前正在读高一 我从六年级的那个寒假,因为学校组织的一场编程公开课而开始玩scratch,在六年级毕业的那个暑假开始学习Python,然后遇到了LStar,也是我遇到的第一个同龄计算机爱好者,我们一起创建了BugDuck开源团队。可以肯定的说的是,那场公开课影响了我的一生 我做的第一个还算成功的项目是一个叫tntjs的前端框架,并把宣传片放在了B站上,结果引起了两派人的轰动,一派认为我们只是在学习而已,另一派认为我们山寨了Vue,当时正值BugDuck团队的内部矛盾,最后分裂了(从三十多人到不到五人),tntjs就没有维护下去了 初三上学期,我一个学期没有碰代码,一部分原因是因为要中考了,另一部分原因是父母没收了我的电脑,但这段时间一直在构思我的新项目。当我看到老师电脑上那些老旧的flash课件,我就想着造一个动画引擎,并给他命名为newcar,于是在寒假的时候开始写newcar。newcar项目地址:https://github.com/dromara/newcar,文档地址:newcar.js.org 总的来说,我追求技术的初心始终...
- 下一篇
yolov5,yolov8 官方团队即将到访中国
https://github.com/orgs/ultralytics/discussions/7513 在Ultralytics,我们不仅要开发尖端的人工智能,还要与使这一切成为现实的社区建立联系。这就是为什么我们非常高兴地宣布,我们计划在中国举行一次聚会,我们希望您帮助我们选择完美的地点! 👇 为您的城市投票或在评论中提出新建议。 深圳——科技中心! 北京——熙熙攘攘的首都! 上海——充满活力的大都市!
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Windows10,CentOS7,CentOS8安装Nodejs环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19