请求的自定义触发器

请求的自定义触发器

自定义触发器用于为符合某些预设标准的传入请求或记录配置自动操作。


您可以自动执行多个流程,例如发送自定义电子邮件通知、根据资源字段信息创建新请求或设置与第三方应用程序的集成。

 

角色要求: SDAdmin 或 HelpDeskConfig

 

要配置请求自定义触发器,请转至管理 > 自动化 > 自定义触发器 > 请求。

 

 

触发已定义的工作流程  

 

当收到的请求符合某些条件时,可以配置自动执行的特定操作。这些条件指的是创建、编辑、永久删除或移动到回收站时,请求字段必须包含的值。


除了指定的事件外,自定义触发器还可以在以下情况下执行:

  • 请求被重复。

  • 事件请求转换为服务请求,反之亦然。

  • 通过维护生成请求。

 

自定义触发器分为若干组。

 

创建新组

 

  1. 单击触发组。

  2. 为组提供名称和描述。

  3. 单击保存或保存并添加新内容。

 


 

配置自定义触发器

 

  • 将鼠标悬停在所需组,点击➕触发组。

  • 根据以下指引填写所显示的表格:

    • 触发器名称: 提供触发器名称。

    • 述: 添加简短说明,说明触发器的必要性。

    • 执行操作: 选择触发器必须在请求生命周期中的什么时候或什么事件下执行:创建、编辑、永久删除或移至回收站。

    • 在……时执行: 选择触发器的执行时间窗口--任何时间、工作时间内或工作时间外。

    • 级联执行: 选择触发器的执行顺序:

      • 应用列表视图中配置的下一个触发器。

      • 跳过当前触发器组中的剩余触发器,执行下一个触发器组(如果有)。

      • 跳过所有触发器组中的所有剩余触发器。

    • 当收到请求时:定义接收请求的条件。您可以选择应用基于标准的任何条件、应用基于自定义函数的条件或不应用任何条件。

      • 基于标准应用条件 - 使用下拉列表选择标准。使用 AND/OR 操作最多可配置 100 个标准。

        • 对于给定的标准,您可以配置多个子标准。

        • 对于请求者、技术人员、组等字段,可以使用占位符配置动态输入的标准,如 $All my groups 和 $Logged in user。

        • 对于状态、创建人和部门等多选字段,您可以根据子字段值单击 > 配置标准。

    • 使用自定义函数应用条件 - 使用请求自定义函数定义标准。
      • 无条件应用自定义触发器将应用于所有收到的请求。
如果没有配置任何条件,触发器将仅在所产生的动作将修改或变更请求字段值的情况下执行。如果执行触发器后请求字段值没有变化,则不会执行配置的触发器。  
  • 满足条件时执行规则: 只有当触发器必须应用于编辑的请求时,此选项才可用。选择触发器是必须只在第一次应用,还是每次传入的请求满足条件时应用。
  • 动作: 配置当请求满足指定条件时要执行的操作。您可以触发以下操作:
    • 应用 If-If 动作或 If-Else 动作

    • 启动 Webhooks

    • 执行自定义脚本、类或自定义函数

    • 发送通知 

  • 点击保存。

 


 

配置自定义动作  

 

  

自定义触发器经配置后,可对满足特定接收条件的请求执行各种操作。


在 ServiceDesk Plus 中,您可以为自定义触发器选择以下 7 种自定义操作:

 

  • 通知动作

  • 自定义函数

  • 执行脚本

  • 执行类

  • Webhook

  • If-If

  • If-Else

 

不能在同一个触发器中配置自定义函数、脚本和类。

 

通知

 

您可以使用自定义动作向技术人员、请求者和利益相关者发送电子邮件和短信通知。您还可以为这些通知创建新模板并保存。


可以发送的通知示例如下:

  • 在创建高优先级或重要请求时,立即通知技术人员。

  • 在请求人的工单指派给技术人员时通知请求人。

 

要配置通知,请转到选择自定义操作> 通知动作。

电子邮件通知模板窗口将打开。单击模板字段并选择所需的模板。

 


 

选择一个模板,然后使用变量、占位符或组织角色选择要通知的用户。

 

支持的占位符如下

 

  • $Requester

  • $Ticket_Owner

  • $Group_Members

  • $On_Behalf_Of_Users

  • $Editor

  • $CC_Users

  • $Shared_Requesters

  • $Shared_Technicians

  • $Task_Owners

  • $Linked_To_Request_Owner

  • $Linked_Requests_Owners

  • $Dependent_Requests_Owners

  • $Current_Level_All_Approvers

  • $Current_Level_Approvers_of_Approved_Approvals

  • $Current_Level_Approvers_of_Pending_Approvals

  • $Current_Level_Approvers_of_Denied_Approvals

  • $Preceding_Levels_All_Approvers

  • $Preceding_Levels_Approvers_of_Pending_Approvals

  • $Preceding_Levels_Approvers_of_Approved_Approvals

  • $Preceding_Levels_Approvers_of_Denied_Approvals

  • $Succeeding_Levels_All_Approvers

  • $Email ids to be Notified

 

您还可以使用其他字段作为变量。

 


 

单击新建创建新模板。

提供模板名称并选择模式: 短信/电子邮件。

提供相关主题。

请注意,短信模式不允许使用附件。对于电子邮件,附件大小默认为 10MB。系统管理员可对此进行修改。


 

自定义函数 

 

自定义函数允许您在 ServiceDesk Plus 和其他外部应用程序中操作数据。


要将自定义函数配置为自定义操作

 

  1. 在动作下,选择自定义操作>自定义函数。

  2. 选择要执行的自定义函数,或单击新建立即创建一个函数。

  3. 单击保存。

 


 

 

执行脚本

 

执行脚本允许用户修改应用程序的行为和用户界面。 在脚本文件中,可以对要执行的操作进行编程。

 


 

默认情况下,支持以下请求操作:

 

请按照下面文件中描述的步骤,有效地编程所需的操作。

 

  • 编写自定义脚本文件(Python 文件示例)

 

执行类 

 

在类文件中,您可以对要执行的操作进行编程。

  1. 将类文件放在 [SDP_Home]/integration/lib/ 目录下。

  2. 在动作下,选择自定义操作>执行类。

  3. 复制类文件名并粘贴到文本框中。

  4. 单击保存。

 


 

 Webhook 

 

webhook允许用户调用外部 URL 或 API,以促进 ServiceDesk Plus 与任何第三方应用程序之间的通信。


您可以在管理员 > 开发人员空间 >webhook下配置webhook。


创建webhook后,您可以选择webhook作为自动化的操作。

 

  1. 在动作下,选择自定义操作>Webhook。

  2. 选择要执行的Webhook。

  3. 单击保存。

 


 

If-If 动作

 

If-If 动作允许您捆绑多个自定义操作,并在满足指定条件时执行这些操作。

 

自定义触发器只能配置一个 If-If 动作。

 

场景:

 

如果收到的请求类别是服务器,则通过电子邮件将问题通知站点负责人。 如果类别是质量问题,则可以配置 webhook 将通知发送到 Slack 中的一个频道。


IF-IF动作如何运行?

 

 If-If 动作中的块会按顺序进行评估,并根据标准匹配情况执行。


您最多可以添加 10 个 If 模块,并在每个 If 模块中配置 5 个动作。


您可以将通知、自定义函数、自定义脚本或webhook配置为自定义动作。


不能在同一区块中配置自定义函数和自定义脚本。

 

配置If-If 动作

  •  在动作下单击选择自定义动作>  If-If。

  • 使用下拉列表配置标准。您最多可以使用 AND/OR 组合创建 10 个标准。

  • 使用可用选项配置操作: 通知动作、自定义函数、执行脚本或 Webhook。

  • 单击添加If模块添加另一个模块,或单击更新。

 


 

 If -Else 动作

 您可以使用 If-Else 动作来配置满足条件和不满足条件时的操作。


一个自定义触发器只能配置一个 If-Else 动作。


场景: 使用员工入职模板创建请求后,向人力资源部门发送电子邮件以启动入职流程。

 

  • 如果员工的职称是技术人员成员,则使用自定义脚本在 AD 中创建一个账户,并将其添加到 Zylker 组。

  • 否则,使用自定义脚本在 AD 中创建一个账户,并将该员工添加到 Zylker Trainee 组。

 

If-Else 动作如何工作?

 

If-Else 动作中的区块按顺序进行验证。

If-Else 动作有三种类型的代码块: If、Else-If 和 Else。

 

If 区块*

  • 根据匹配标准执行操作。

  • 默认情况下有一个 If 区块。

Else-If 区块

  • 只有当 If 代码块未执行时,才会验证 Else-If 代码块。

  • 根据匹配条件执行操作。

  • 在 If 和 Else 块之间最多可以添加 8 个 Else-If 块。

Else 区块*

  • 只有当 If 块和 Else-If 块都未执行时,才会执行 Else 块。

  • 默认情况下只有一个 Else 块。

* 必填区块

 

配置 If-Else 动作

 

  • 在动作下,单击选择自定义操作> If-Else 。

  • 在 If 块中,使用下拉列表配置标准。使用 AND/OR 组合最多可添加 10 个标准。

  • 使用可用选项配置动作: 通知动作、自定义函数、执行脚本或 Webhook。每个区块中最多可配置 5 个动作。

  • 要添加 Else-If 区块,请单击添加条件并配置条件和操作。

  • 定义 If 和 Else-If 块后,在 Else 块中配置操作,然后单击更新。