通过 Zoho Flow 集成 Azure DevOps
使用场景
您可以通过 Zoho Flow 将 ServiceDesk Plus 与 Azure DevOps 集成。借助此集成,您可以在 ServiceDesk Plus 中创建请求时,在 Azure DevOps 中创建新的工作项;同时,当 Azure DevOps 中对应的工作项被更新时,也可以在 ServiceDesk Plus 中更新请求。
要将 ServiceDesk Plus 与 Azure DevOps 集成,您需要创建一个 Azure DevOps 连接。
创建 Azure DevOps 连接
为了通过 Zoho Flow 访问 Azure DevOps 应用程序,您需要创建一个连接。
- 导航到左侧导航栏中的“设置”选项卡,点击“连接”子选项卡,然后点击“创建连接”,并选择 Azure DevOps 应用程序。

- 在表单中填写详细信息并点击“授权”。随后会打开 Microsoft 登录页面(如果尚未登录)。


什么是 Flow?
Flow 是触发器和操作的组合。触发器用于启动 Flow,而操作则是由 Flow 执行的任务。
创建从 ServiceDesk Plus 到 DevOps 的集成 Flow
在此 Flow 中,当在 ServiceDesk Plus 中创建请求时,会在 Azure DevOps 中创建相关的工作项。为了管理工作项与请求之间的关系,您需要添加额外字段来存储相关工作项/请求的 ID。
- 在 Azure DevOps 中添加 sdp_request_id 字段。
- 在 SDP OnPremise 中添加 devops_id(单行文本)字段。
- 有关如何添加额外字段,请参阅以下链接(SDP,DevOps)。
- 在“我的 Flows”(位于左侧导航栏)页面上,点击创建 Flow按钮以开始新建 Flow。

- 将打开创建 Flow 表单,其中包含必填字段;填写详细信息后点击“创建”。

- 下一步是选择触发器类型。由于触发器由 ServiceDesk Plus 应用程序发送,因此您需要选择“应用”作为触发器类型。

- 将显示 Zoho Flow 支持的所有应用列表。搜索“ServiceDesk Plus On-Premises”并选择 SDP 应用。

- 从 ServiceDesk Plus 支持的事件列表中选择触发事件。在此 Flow 中,触发事件为“Request created in template”,即每当在 ServiceDesk Plus 应用程序中的“Azure DevOps Template”下创建请求时触发。

- 将打开一个包含必填字段的表单,填写数据后,点击完成。

- 在上图中,筛选条件选择为“优先级”等于“高”,即当在“Azure DevOps Template”中创建高优先级请求时,将执行此触发器(筛选条件可根据需求选择,属于可选项)。
- 决策操作用于检查“devops_id”是否为空,即检查是否已有工作项与该请求关联。如果为空,则继续执行下一步操作;否则将结束流程(devops_id 作为额外字段添加到 Azure DevOps 模板中,用于存储关联的工作项 ID)。请双击条件名称并将其更改为合适的名称,例如 devops_is null check。有关如何创建决策,请参阅此文档。


- 当“devops_id”为空时,需要创建一个新的工作项,其详细信息与请求相同(请求的主题)。在构建器左侧会显示 Zoho Flow 支持的所有应用列表,搜索 Azure DevOps 并选择该应用。随后将显示 DevOps 支持的所有操作列表,将“Create Work Item”操作拖放到决策框的成功输出中。


- 将弹出一个包含创建工作项字段的窗口。请根据需要填写详细信息。



- 由于主要目标是创建一个标题与请求主题相同的工作项,因此在“Create Work item”的标题字段中,需要提供触发器中的主题值作为输入(该值包含已创建请求的主题)。

- 要为字段输入值,请先点击该字段的空输入框,此时字段会高亮显示,然后点击右侧的字段(触发器/操作)。在上面的截图中,您可以看到 ${request.subject} 已被设置为标题输入框中的值;由于触发器提供的变量名称为 request,因此可通过 ${request.subject} 进行访问。

- 在 DevOps 中添加工作项后,您需要将其与请求关联。为此,需要将 DevOps 工作项 ID 作为 devops_id 更新到请求中。在应用搜索中搜索“Servicedesk Plus On-Premises”,并选择“Update Request”操作。此操作会将创建的工作项 ID 作为 devops_id 更新到请求中。


- 在“Update Request”操作中,请求的 ID 已从“Requested Created in Template”触发器中获取,而“devops_id”则从“Create Work-item”操作中获取。

更新从 Azure 到 SDP 的集成 Flow
要更新从 Azure 到 ServiceDesk Plus 的集成 Flow,请在“我的 Flows”(位于左侧导航栏)页面上点击“创建 Flow”按钮以开始新建 Flow。
- 在新表单中,填写详细信息并点击“创建”。
- 选择触发器类型。由于触发器由 Azure DevOps 应用程序发送,因此您需要选择“应用”作为触发器类型。
- 将显示 Zoho Flow 支持的所有应用列表,搜索“Azure DevOps”并选择 DevOps 应用。
- 从 Azure DevOps 支持的事件列表中选择触发事件。在此 Flow 中,触发事件为“Work-item Updated”,即每当 Azure DevOps 应用程序中的工作项被更新时触发。


- 在触发器中,选择工作项类型为“Issue”,字段为“State”,即只有当更新后的工作项类型为“Issue”,且被更新的字段为“State”时,才会触发该流程。

- 决策操作用于检查“sdp_request_id”是否不为空,即检查该请求是否已与工作项关联。如果为空,则结束流程;如果不为空,则继续执行下一步操作。


- 当“sdp_request_id”不为空时,将执行“Update Request”,并使用工作项的状态更新 SDP 中的请求。在应用列表中搜索“Service desk Plus On-Premises”,然后选择“Update Request”操作。

- 由于工作项的状态会不断变化,因此在“Update Request”操作中为状态字段选择固定的状态值并不合适。因此,您需要选择“Use Custom Value”,并在文本框中提供相应的值。这里的状态值应为工作项的 state,因此您需要从“Work-item Updated”触发器的字段中获取该值。
