ThingsBoard集成外部工单系统方案
在 ThingsBoard 的仪表盘中集成和使用 Jitbit Helpdesk,需要结合 Jitbit 提供的 REST API 和 ThingsBoard 的自定义 小部件(Widgets) 功能。以下是详细的实现步骤:
1. 确定集成场景
在仪表盘中集成 Jitbit Helpdesk 的常见需求包括:
- 显示当前工单列表。
- 创建新工单的入口(通过表单)。
- 显示某个设备的相关工单详情。
2. 获取 Jitbit API 访问权限
确保 Jitbit Helpdesk API 已启用,以下是常见 API 配置:
- API 文档:Jitbit API 文档
- 获取 API 密钥,通常是管理员在 Jitbit 后台生成。
3. 在 ThingsBoard 中配置 REST 调用
利用 ThingsBoard 的 规则链(Rule Chain) 和 REST API 节点,实现与 Jitbit 的交互。
步骤 1:创建 REST 数据源
-
登录 ThingsBoard,进入 规则链 页面。
-
添加一个新的 HTTP 节点,用于调用 Jitbit API。例如:
- URL:
https://your-jitbit-instance/api/tickets
- 方法:
GET
或POST
(视场景而定)。 - Headers:
{ "Authorization": "Basic BASE64_ENCODED_CREDENTIALS", "Content-Type": "application/json" }
- Body(可选,POST 请求时需要):
{ "Subject": "Device Issue - {{deviceName}}", "Body": "Issue details: {{issueDetails}}", "Priority": "High" }
- URL:
-
配置 REST 节点输出,将 API 的响应保存到元数据。
步骤 2:处理 REST 响应
- 使用脚本转换节点(Script Node)解析 Jitbit 的 JSON 响应数据。
- 提取需要展示的信息,例如工单编号、标题、状态等。
4. 在仪表盘中创建小部件
步骤 1:准备数据源
- 进入仪表盘编辑器,创建一个新的 实体数据源 或 REST 数据源,从规则链获取工单数据。
- 确保数据源中包含以下字段:
- 工单编号(Ticket ID)
- 标题(Subject)
- 状态(Status)
- 优先级(Priority)
步骤 2:配置表格或卡片小部件
-
添加一个 表格小部件(Table Widget):
- 数据绑定到 REST 数据源。
- 配置列,如工单编号、标题、状态、优先级。
- 添加点击事件,跳转到工单详情页或触发相关动作。
-
添加一个 表单小部件(Form Widget):
- 用于提交新工单。
- 绑定表单字段到 REST API 的输入参数,例如:
- 设备名称:自动填充设备名。
- 问题描述:用户手动输入。
5. 整合到仪表盘
- 将配置好的表格和表单小部件嵌入到仪表盘的布局中。
- 根据需求设置 条件样式:
- 工单状态为“未解决”时显示红色。
- 优先级为“高”时添加警告图标。
6. 示例用例
用例 1:设备故障工单展示
- 当某个设备发生故障时,ThingsBoard 自动调用 Jitbit API 创建工单。
- 在仪表盘中,实时显示该设备的相关工单列表,支持点击查看详情。
用例 2:用户手动提交工单
- 在仪表盘中添加一个 “提交问题” 按钮。
- 用户点击按钮后,弹出表单填写问题描述。
- 表单数据通过规则链提交到 Jitbit API,生成新的工单。
7. 持续优化
- 性能优化:对 API 请求频率进行限制,避免过多实时请求。
- 安全性:使用 HTTPS 并妥善管理 API 密钥(建议通过 ThingsBoard 的
Secret
管理)。 - 监控与日志:通过 ThingsBoard 的监控功能跟踪规则链的执行情况。
如果您需要具体的 JSON 数据绑定示例或小部件配置文件,可以进一步提供细化需求,我会为您设计具体的实现方案!