自定义触发器

自定义触发器有助于为各类用户请求配置自动化的流程,使用此功能,SDAdmin可以自动化执行各种流程,例如设置多个审批阶段、发送定制的邮件通知、根据资源字段创建新的请求,以及与第三方应用集成。

触发器的工作过程

当新的请求满足您所设置的条件的时候,配置的动作将会被触发。即设置请求中的字段及值的验证条件,在请求创建、更新、创建和更新、批准、拒绝、批准或拒绝以及接收到新的请求回复时加以验证。

自定义触发器也会在复制请求、将事件请求转换为服务请求,以及通过定期维护任务(计划请求)创建请求时触发。对于新的请求,当自定义触发器不设置任何条件时,执行脚本可能无法更新请求(基于输入信息)。如果有请求字段通过触发器更新,那么对于“更新请求”的触发器,将会被自动忽略。对于修改了的请求,如果最新的值匹配了触发器的条件,那么将会继续出发相关的自定义触发器。

提示:匹配条件的强制要求设置,可通过在数据库中执行以下查询语句实现:

update globalconfig set paramvalue = 'true' where category='CUSTOM_TRIGGER' and parameter='IS_EMPTY_CRIT_ALLOWED';

以下内容,我们来简述如何通过一个自定义的触发器来设计一个工作流。

  1. 配置定义触发器

  2. 邮件通知

  3. 配置动作

  4. 编写脚本

配置定义触发器

  • 点击管理 ,在帮助台定制器部分,点击自定义触发器

  • 打开自定义触发器的动作列表视图,将列出已有的动作规则。在这里,SDAdmin角色用户可以添加、编辑、启用/禁用、删除动作规则。要添加新的动作规则,点击添加新动作的链接。

管理员也可以定义应用到请求的动作的执行序列。以下示例展示了如何设置动作:

  • 定义动作的名称与描述

  • 设置动作的执行时机,如请求创建时或编辑时

  • 设置触发动作的条件,如当优先级为高

  • 设置执行脚本的命令。此脚本默认应保存在ServiceDesk_Home\integration\custom_scripts\目录下

  • 配置邮件通知,例如当出现该动作时,邮件通知工单所有者,及IT部门负责人

  • 当无后续任务处理时,可选择“停止处理后续动作”;反之,此动作执行后,将按照动作顺序,继续匹配下一调自定义动作

邮件通知

邮件通知帮助将请求环节中一些重要的事件通知到用户。例如,当高优先级或重要的请求创建时,立即通知技术员;当工单直派给技术员后,通知请求人等。您可以为这些邮件通知创建新的模板并保存下来,这些模板将会列出在邮件通知模板列表里,可以在其它同类配置中使用。

  1. 设置条件,点击邮件通知旁边的添加图标。
  2. 邮件通知模板窗口将打开。
  3. 选择一个模板(您已经创建的模板将会列在这里),以及您需要通知的用户,用户将以变量、占位符、机构角色的形式列出。
  4. 支持的占位符包括以下几种:
    • $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
  5. 您也可以在选择模板底部,点击新模板链接,创建新的邮件模板。
  6. 完成后保存。

配置动作

接下来我们假设一个脚本:py SendSMS.py $COMPLETE_V3_JSON_FILE,该脚本用于当请求被派到组“network”,且优先级为“High”时,发送一个短信通知。支持用于此脚本的参数有:

  1. $COMPLETE_V3_JSON_FILE:请求的完整数据,将保存到一个临时的JSON文件,文件及文件路径将作为一个字符串对象进行引用。

  2. 提示:当更新请求后,变更前及变更后的内容差异,也将在此文件中体现出来。

  3. 所有这里列出的请求参数,都能作为脚本参数引用。

  4. 缺省情况下,脚本的执行路径为:[SDP_Home]/integration/custom_scripts。支持的脚本语言包括有:Python、VBScript、PowerShell、Batch等等。

编写自定义脚本

您需要为动作编制一个可执行的脚本文件,以便执行。缺省支持以下请求操作:

参阅以下文档,了解如何编写需要的动作。

相关文档

自定义触发器用例 | 常见问题 | 请求自定义菜单 | 变更自定义触发器 | 字段与表单规则

支持:如果您有任何关于自定义触发器的问题,您可以将其提交到我们的用户论坛上。

Back to Top