跳转到主要内容
通过 ServiceDesk Plus 同步 Webhook,将 Flashduty 的故障与 ServiceDesk Plus request 进行关联同步,实现 Flashduty 与 ServiceDesk Plus 的联动。 本集成基于 ServiceDesk Plus 官方提供的 v3 API 协议,兼容其接口规范。若您使用私有化部署版本,请确认其 API 是否支持 v3 版本。此外,ServiceDesk Plus 的云版本与私有化版本在授权配置方式上存在差异,具体配置请参考相关文档说明。 在配置此集成时,如果您选择的同步方向是 From_ServiceDesk_Plus,您可以直接跳过授权相关配置,直接参考配置同步即可。

云版本

在 ServiceDesk Plus

步骤1 创建授权应用

请根据您的 ServiceDesk Plus 服务区域选择对应的 Developer Console 地址:Data Centres
  1. 登录 Developer Console,选择 Self Client 类型的 Client 并创建。
  2. 点击 Generate Code,在 Scope 中填写:SDPOnDemand.requests.ALL,SDPOnDemand.setup.READ,SDPOnDemand.custommodule.READ。权限范围参考官方文档
  3. Time Duration 选择最大的 10 minutesScope Description 填写内容可自定义,比如: Flashduty 同步使用,并创建。
  4. 将生成的 CodeClient ID 以及 Client Secret 复制备用。
2025-09-24-14-59-28 2025-09-24-15-00-56
注意:Code 的有效期只有 10 分钟且只能使用一次,所以在获取到 Code 后,请在有效期内尽快完成集成授权

在 Flashduty On-call

步骤2 集成授权

请根据您的 ServiceDesk Plus 服务区域选择对应的 API Endpoint 和 Accounts Server URL:Data Centres
  1. 平台类型 选择云版本,填写API EndpointAccounts Server URL
  2. 创建授权应用步骤中生成的 CodeClient ID 以及 Client Secret 填写到对应的编辑框并点击下一步完成集成配置(如果报错请重新获取 Code,或联系技术支持排查问题)。

私有化版本

在 ServiceDesk Plus

步骤1 生成 API 密钥

  1. 登录 ServiceDesk Plus 控制台,在个人中心点击 生成 API 密钥
  2. 令牌过期时间 选择 永不过期,将生成的 Token 复制备用,并完成集成授权
注意:生成 API 密钥的用户需要具备相关权限,比如创建/更新请求、获取模版/优先级/自定义字段列表等权限,如果权限不足,会导致无法完成集成配置,建议使用管理员角色生成。

在 Flashduty On-call

步骤2 集成授权

  1. 平台类型 选择私有化版本,填写API Endpoint
  2. 将生成的 Token 填写到对应的编辑框并点击下一步完成集成配置

通用配置

在 Flashduty On-call

步骤1 集成配置

  1. 集成名称: 为当前集成定义一个名称。
  2. 管理团队: 当选择管理团队后,只有该团队成员以及租户管理员可以编辑此集成。
  3. 同步方向:
    • To_ServiceDesk_Plus:将 Flashduty 的故障同步至 ServiceDesk Plus。
    • From_ServiceDesk_Plus:将 ServiceDesk Plus 的 Request 同步至 Flashduty。
    • Two-way:Flashduty 和 ServiceDesk Plus 互相同步。
  4. 触发模式
    • 自动触发:需要配置相应的条件,Flashduty On-call 会自动将符合条件的故障同步到 ServiceDesk Plus 中。
    • 手动触发:需要在故障详情页的更多操作中手动触发 ServiceDesk Plus 同步(该集成配置的名称为触发器名称)。
  5. 协作空间:选择该集成生效的协作空间。
  6. 请求模版:选择创建 request 时使用的模版,为空时使用默认模版创建工单。
  7. 严重程度映射:可以选择使用严重程度、故障标签、自定义字段的值与 ServiceDesk Plus 的优先级字段进行映射,如果为空,在创建工单时不传该字段。
  8. 自定义字段映射:可以将故障中的标签或自定义字段,映射到 ServiceDesk Plus 工单中的对应文本字段,实现信息自动填充。该功能支持将常见上下文信息(如服务名、实例地址、指标名称等)同步至 ServiceDesk Plus,便于后续排查与跟踪。
    • 仅支持目标为单行文本或多行文本类型的字段。
    • 支持从故障标签(如 service、instance)或自定义属性中提取值。
    • 若源字段为空,目标字段也将保持为空,不会覆盖原有内容。
  9. 指派对象映射:当 Flashduty 的故障同步至 ServiceDesk Plus 并需要自动指派到 Technician 或 Group 时,可以获取 Flashduty 故障标签的值作为指派对象(如果对应的指派对象不存在,会导致同步失败,请谨慎选择)。
  10. 请求者:创建工单时指定的 requester,如果工单在创建时该字段是必须,则需要配置。
  11. 点击保存完成配置。

在 ServiceDesk Plus

步骤2 配置同步

要实现 ServiceDesk Plus 的 Request 向 Flashduty 的同步,请参考此配置项。注意: 不同版本的路径可能略有不同,但配置方法相同。
创建 Webhook
  1. 登录 ServiceDesk Plus 控制台,找到 Setup 配置页面。
  2. 选择 Automation 之后,进入到 Custom Actions 页面,并选择 Webhooks
  3. 点击 New Webhook,在编辑页面中 Webhook Name 填写 to_Flashduty
  4. URL 填写集成的推送地址
  5. Applies to 选择 RequstsMethod 选择 POSTHeaders 中填写 Content-Type application/json
  6. Message Body 的 Type 选择 JSON,并填写以下内容:
# 云版本
{
  "subject":"${subject}",
  "request_id":"${id}",
  "description":"${udf_fields.txt_destination}",
  "priority":"${priority.name}",
  "status":"${status.name}",
  "txt_test_field":"${udf_fields.txt_test_field}"

}
# 私有化版本
{
 "suject":"${{request.subject}}",
 "request_id":"${{request.id}}",
 "description":"${{request.description}}",
 "status":"${{request.status.name}}",
 "priority":"${{request.priority.name}}",
 "udf_sline_301":"${{request.udf_fields.udf_sline_301}}"
}

  1. 点击 Save 完成配置。
2025-09-23-13-32-32
步骤3 创建触发器
  1. 登录 ServiceDesk Plus 控制台,找到 Setup 配置页面。
  2. 选择 Automation 之后,进入到 Triggers 页面,并选择 Request
  3. 点击 New Trigger,在编辑页面中 Name 填写 to_Flashduty
  4. Trigger applies to 选择 RequestExecute when a request is 勾选 Create 和 Edited
  5. Execute during 选择 Any time,并勾选 Enable Trigger
  6. Conditions 选择 Without condition 或按实际需求配置。
  7. Actions 中选择 Webhook 并勾选 to_Flashduty 通道。
  8. 点击 Save 完成配置。
2025-09-23-13-42-20

同步信息映射关系

表单字段

ServiceDesk PlusFlashduty备注
SubjeckTitle标题
DescriptionDescription描述信息
StatusProgress状态
PrioritySeverity严重程度
OthersCustom Fields自定义字段

状态映射

ServiceDesk PlusFlashduty备注
OpenTrigger触发
In ProgressProcessing待处理
AssignedProcessing待处理
Pending VerificationProcessing待处理
StagingProcessing待处理
On HoldSnoozed默认暂缓 2 小时
ResolvedCLosed关闭
ClosedCLosed关闭
CanceledCLosed关闭
RejectedCLosed关闭

常见问题