通用 Webhook 触发用于代码源以外的第三方工具或自有系统触发流水线运行。一条流水线支持配置多个通用 Webhook 触发器。本文为您介绍如何配置通用 Webhook 触发规则。
已创建流水线,具体操作请参见 创建流水线。
使用以下任意一种方式进入添加触发器面板。
编辑流水线
...
> 编辑,进入当前流水线的流程编排页签。触发器快捷入口
配置通用 Webhook 触发规则。
配置项 | 说明 |
---|---|
触发器类型 | 本场景为 通用 Webhook 触发。 |
触发器名称 | 自定义 Webhook 触发器的名称。同一流水线下的 Webhook 触发器名称不可重复。 |
URL | 展示当前流水线的 Webhook URL,流水线通过该 URL 接收 Webhook 触发消息。 |
运行时变量 | 可选配置。运行时变量用于配置 Webhook 触发流水线运行时,动态变量的运行值。如果不配置,动态变量将使用 流程编排 > 变量管理 中填写的默认值。 动态变量的运行值既支持一个静态值,也支持动态传参。
注意 变量生效优先级:动态变量传参 > 动态变量静态运行值 > 动态变量默认值(创建变量时配置的默认值) |
备注 | 填写当前触发器的备注信息,可以为空。 |
运行时分支 | 当流水线存在代码源时,支持配置运行时使用的代码分支。
|
单击 确定,完成 Webhook 触发配置。
如果从编辑流水线入口进入,需单击右下角 保存,保存流水线配置。
将流水线的 URL 配置至您的平台,保证流水线可正常接收 Webhook 触发消息。您也可以使用以下命令直接触发流水线运行。
curl --location 'https://cp.volces.com/v2/webhook/your-webhook' \ --header 'Content-Type: application/json' \ --data-raw '{ "xx": "xx", "xx": "xx" }'
触发流水线运行时,支持通过 JsonPath 格式或普通格式,提取 Hook 中的消息,对动态变量进行传参。下文为您分别介绍这两种方式。
JsonPath 主要用于从 JSON 结构中定位和提取特定部分的数据。它提供了一种简洁而强大的方式来指定要选择的元素或属性,适用于处理复杂的嵌套数据结构。本文以一个商店的 JSON 文本为例,为您演示通过$.store.book[*].author
提取商店中所有 book 的作者。
在流水线的 流程编排 > 变量管理,配置你希望传递的动态变量和默认值。示例如下:
开启通用 Webhook 触发,在 运行时变量 选择步骤 1 配置的动态变量,并通过 JsonPath 格式,配置运行值。示例如下:
调用并使用 data-raw 信息传递触发参数,修改运行时变量值。示例如下:
curl --location 'https://cp.volces.com/v2/webhook/your-webhook' \ --header 'Content-Type: application/json' \ --data-raw '{ "store": { "book": [ { "category": "reference", "author": "Nigel Rees", "title": "Sayings of the Century", "price": 8.95 }, { "category": "fiction", "author": "Evelyn Waugh", "title": "Sword of Honour", "price": 12.99 }, { "category": "fiction", "author": "Herman Melville", "title": "Moby Dick", "isbn": "0-553-21311-3", "price": 8.99 }, { "category": "fiction", "author": "J. R. R. Tolkien", "title": "The Lord of the Rings", "isbn": "0-395-19395-8", "price": 22.99 } ], "bicycle": { "color": "red", "price": 19.95 } } }'
可以看到,示例中的变量user
初始值为xiaoming
,触发后变化为[Nigel Rees,Evelyn Waugh,Herman Melville,J. R. R. Tolkien]
。
普通格式使用比较简单,无需学习 JsonPath 语法,适用于提取单个值或简单的数据类型。本文以一个简单的示例为您演示如何使用普通格式进行动态传参。
在流水线的 流程编排 > 变量管理,配置你希望传递的同名动态变量和默认值。示例如下:
开启通用 Webhook 触发,在 运行时变量 选择步骤 1 配置的动态变量。示例如下:
调用并使用 data-raw 信息传递触发参数,修改运行时变量值。示例如下:
curl --location 'https://cp.volces.com/v2/webhook/your-webhook' \ --header 'Content-Type: application/json' \ --data-raw '{"name": "b"}'
可以看到,示例中的变量name
初始值为a
,触发后的变化为了b
。