为工作流创建和管理 Webhook
Webhook 是当某些操作发生时自动发送事件数据,从而实现应用程序之间自动通信的一种简单方法。在Qlik Cloud 中,Webhook 可以触发其他应用程序中的操作,而无需手动干预,这样就可以更轻松地将 Qlik Cloud 集成到您的工作流中,并根据系统事件实现任务的自动执行。每次发生定义的事件时,都会向指定的 Webhook 端点发送 JSON 请求,将事件数据发送到您选择的应用程序。
了解 Webhook
Webhook 如何工作?
当 Qlik Cloud 中发生事件时(例如,创建了新应用程序或删除了用户),Webhook 会使用 HTTP 回调将 JSON 格式的信息发送到指定的外部应用程序。然后,该外部应用程序可使用事件数据来触发其他操作。
例如:
-
创建新应用程序时,通过 Slack 通知您的团队。
-
当新的团队成员添加到租户时,自动发送欢迎电子邮件。
-
当从租户中删除了用户时,更新电子表格。
使用 Webhook 的优势
Webhook 允许与其他系统进行实时集成,无需持续手动检查或重复 API 请求。通过监听事件和立即发送相关数据,Webhook 可减少不必要的工作,实现平滑的自动化。
用于 Webhook 集成的主流平台
为了处理和响应 Webhook 数据,您可以构建自定义服务,或使用第三方平台,例如:
webhook 限制
为了保持系统性能和管理资源,有以下限制适用:
-
Webhook 交付历史记录将保留 7 天。
-
每个用户最多可以拥有 150 个 Webhook。
-
每个租户最多可以创建 100 个 Webhook。
Webhook 请求结构
当事件触发 Webhook 时,它会向指定的端点发送一个 JSON 请求。该请求的结构包含关于事件的重要详细信息,如事件类型、时间戳和其他元数据。
Webhook 请求示例:应用程序已删除事件
以下是删除应用程序时发送的 JSON 请求的示例:
请求 URL
https://api.blendr.io/v1/widgets/F502987A-AF89-4992-8127-F28794C5A74A?X-Execution-Token=xxxxx
标题
{
"Content-Type": "application/json",
"Qlik-Signature": "446bd5e3f5b635f491d17557e4bec6ebc61b7bd2bc9cc7b612e4e",
"User-Agent": "Qlik Webhook"
}
正文
{
"cloudEventsVersion": "0.1",
"source": "com.qlik/engine",
"contentType": "application/json",
"eventId": "e65c1481-e8a-4be-a5ca-27dfcde077d7",
"eventTime": "2021-03-08T14:51:29Z",
"eventTypeVersion": "1.0.0",
"eventType": "com.qlik.v1.app.deleted",
"extensions": {
"ownerId": "vNRGrDZIypJzauw59BbpvkRhqbmI",
"tenantId": "oZcMPa_1PwH4FUdrh6839YHHdEJN",
"userId": "vNRGrDZIypJtcGTzauw59BbpqbmI"
},
"data": {
"attributes": {
"id": "0984fec4-aa8c-4253-b1d1-4fd4f9c78",
"name": "New App",
"createdDate": "2021-03-08T14:51:28.888Z",
"modifiedDate": "2021-03-08T14:51:29.316Z",
"owner": "auth0|b62a17c577a4abe6e807b07d18c4d82286352542d633d120100b03fb11",
"ownerId": "vNRGrDZIypJtcGTzauw59BbpvbmI",
"published": false,
"hasSectionAccess": false
}
}
}
此有效负载提供关于已删除应用程序的详细信息,例如应用程序的 ID、名称、所有者和删除时间戳,帮助接收系统处理事件。有关事件有效负载的更多详细信息,请参阅 Qlik 开发人员门户:API 事件。
创建 Webhook
Webhook 可由以下角色创建:
-
Administration 活动中心的租户管理员。
-
Qlik Application Automation 界面中的所有用户。
有关将 Webhook 用于 Application Automation 的更多信息,请参阅使用 Webhook (仅提供英文版本)。
执行以下操作:
-
在 Administration 活动中心中,转到 webhook。
-
单击新建。
-
输入 Webhook 的名称,并可选择添加描述。
-
对于 URL(端点),输入 Webhook 将在其中发送 JSON 数据的完全限定域名 (FQDN)。
-
该 URL 必须使用 HTTPS 协议(示例:https://domain.com)。IP 地址不能用作 Webhook 端点。
-
-
可选择性输入用于 Webhook 身份验证的密钥。
-
密钥必须在 32 至 64 个字符之间。
-
如果创建了密钥,密钥将作为哈希值的一部分纳入,作为 qlik-signature 附加到 HTTP 请求中。
-
-
可选择性添加 HTTP 标头以附加至请求。
-
在事件下,选择将触发 Webhook 的系统事件。可用的事件包括:
-
应用程序事件:已创建、已删除、已导出、数据已更新(已刷新)、已发布、已重新加载。
-
用户事件:已创建、已删除。
-
-
单击创建。
管理 webhook
Webhook 排序和搜索
要对表格中的 Webhook 进行排序和搜索:
-
单击某列顶部的 ,即可更改排序顺序。
-
单击列顶部的 搜索 Webhook。搜索筛选器对完全和部分匹配有效。
打开或关闭 Webhook
执行以下操作:
-
在 Administration 活动中心中,转到 webhook。
-
单击 Webhook 旁边的 。
-
要打开 Webhook,请选择启用 Webhook。
-
要关闭 Webhook,请选择禁用 Webhook。
默认情况下,会启用新创建的 Webhook。
编辑 Webhook
执行以下操作:
-
在 Administration 活动中心中,转到 webhook。
-
对于您要编辑的 Webhook,单击 。
-
选择编辑。
-
进行编辑并单击保存。
删除 Webhook
执行以下操作:
-
在 Administration 活动中心中,转到 webhook。
-
选择要删除的 Webhook。
-
单击删除。
-
确认删除。
查看 Webhook 历史记录
Webhook 事件历史记录将保留 7 天。
执行以下操作:
-
在 Administration 活动中心中,转到 webhook。
-
单击 Webhook 旁边的 ,展开其事件历史记录。
-
要手动重新发送事件交付,请单击事件行上的 。
-
要查看事件响应有效负载,请单击事件行上的 按钮。
有效负载会显示应用程序的 ID、名称和时间戳等详细信息,这对调试或审计过去的事件非常有用。