自定义触发器可以允许用户定义动作规则,以便在符合条件时自动调用自定义类或脚本文件,实现用户的特定需求。 这些自定义的规则,可以分别在请求被创建、被接收或被编辑时加以应用。
这里将分别介绍以下内容:
点击管理页签,
在自帮助台定制器下,点击自定义触发器,
打开自定义触发器的动作列表视图,其中将列出已有的动作规则。在这里,可以添加、编辑、启用/禁用、删除动作规则。要添加新的动作规则,点击添加新动作的链接。如下图所示:
显示新建动作的表单。
然后,按照以下步骤配置自定义触发器:
输入动作名称(必填项),不能重复。
输入描述(可选),说明该动作规则的意图和作用。
在执行该动作的下拉框中,选择该动作的执行时机(必填项),可用的值有:
请求被创建时 - 当某个请求被创建时,应用该规则。
请求被编辑时 - 当某个请求被编辑时,应用该规则。
请求被创建和编辑时 - 当某个请求被创建和被编辑时,都应用该规则。
在匹配以下条件中,定义规则,设置匹配条件。只有符合设定条件的请求,才会触发该动作规则。
匹配条件可以从下拉框中选择相应的字段,并为其指定相应的值。可以设置一个条件,也可以设置多个条件,并指定条件的与/或关系。
执行动作: 设置符合条件的请求所要执行的具体动作(必填项)。
选择动作类型(可以是:执行Java类和执行脚本)
如果选择执行脚本,需要指定脚本文件所在的路径及名称。(如: "cmd / c Index.bat"),默认情况下,脚本是从 "[SDP_Home]/integration/custom_scripts/" 目录下执行。
如果选择执行类,需要指定类的全名 (如:"com.servicedeskplus.integration.JiraActionImplementation"),并确保该类已在SDP的类路径中。
执行脚本时可以使用变量:
cmd / c Index.bat $SUBJECT $PRIORITY
支持的其它参数:
$COMPLETE_JSON ---> 完整请求将作为JSON String Object传递。
$DIFF_JSON ---> 当请求被更新时,当前数据与之前数据的差异部分将作为JSON String Object传递。
$COMPLETE_JSON_FILE ---> 完整的请求对象将保存为JSON文件,并将该文件的路径作为String Object传递。如: (SDP_Home\integration\custom_scripts\request\12_1426143538036.json).
根据需要,选择/反选停止处理后续动作的选项。默认情况下,该选项被选中,一旦某个规则动作应用到某个请求,之后将停止执行其它动作。如果不选中该选项,将会按照规则动作的顺序,继续执行其它的动作。
点击保存按钮,保存该规则。
动作规则保存之后,将会添加到自定义触发器的列表视图中。您可以对动作规则的执行顺序进行编排。
在动作规则的列表视图中,可以进行以下操作:
点击规则旁边的 图标,可以禁用该动作规则。
点击规则旁边的 图标,可以启用该动作规则。
点击要编辑的规则旁边的 编辑图标,可以对该动作规则进行编辑。
根据需要做适当的修改,
点击保存按钮,使修改生效。
点击要删除的规则旁边的删除 图标,弹出删除确认对话框,
在对话框中选择确定,即可删除相应的规则。
您可以根据需要,决定动作规则的执行顺序。也就是对动作规则的顺序进行编排。
点击编排动作的链接(注意它只有在列表中存在一个以上的动作时才会显示)
在弹出的对话框中,通过上移、下移按钮,移动相应规则的顺序。然后保存。后续的请求,将按照新的规则顺序执行。
实现自定义触发动作的场景示例
第三方集成
当有请求在Servicedesk plus中创建时 --> 通过触发器,在第三方平台中执行相应的操作。
当SDP的请求被编辑时 --> 通过触发器,在第三方平台中执行相应的更新
在Servicedesk Plus内部使用
比如,当在Servicedesk plus中有请求被创建时 --> 通过触发器在SDP中同时创建一个变更请求。
为请求设置多级审批
动作规则可以在请求被创建或被编辑时应用到相应的请求。
怎样工作?
比如,您创建了一个以下条件的动作规则:
Priority - High AND Level - Tier 4 (创建/编辑时同时使用).
假设有一个请求,其 Priority - Low.
限制,您把优先级及级别分别修改为: Priority-High ,Level-Tier 4, 保存时,该触发器将应用到该请求(因为它满足定义的规则条件)。
注意:在执行脚本时,可以为脚本指定变量,下表为SDP支持的所有参数变量。
参数名称 | 描述 |
$WORKORDERID | Provides the Work order ID of the request |
$REQUESTER | Provides the name of the requester |
$CREATEDBY | Provides the name of the technician who creates the request infavour of the requester |
$CREATEDTIME | Provides the time at which the request was created |
$DUEBYTIME | Provides the 'Due By' time of the request |
$RESPONDEDTIME | Provides the time duration within which the request was responded by the technician |
$RESOLVEDTIME | Provides the time duration within which the request was resolved by the technician |
$COMPLETEDTIME | Provides the time duration within which the request was completed |
$GROUP | Denotes the group to which the request belongs |
$LOGGEDIN_SUPPORTREP_NAME | Provides the name of the support technician who logged in |
$SHORTDESCRIPTION | Provides a short description of the request |
$TIMESPENTONREQ | Provides the time spent on a request |
$SUBJECT | Provides the Subject of the request |
$REQUESTTEMPLATE | Denotes the request template using which the corresponding request was created |
$SLA | Denotes the Service Level Agreements under which the request falls |
$ASSET | Provides information about the asset associated to the request |
$DEPARTMENT | Denotes the department to which the request belongs |
$SITE | Denotes the site associated to the request |
$DESCRIPTION | Provides full description about the request |
$RESOURCE | Provides information about resource involved with the request |
$ISVIPUSER | Indicates whether the user is a VIP or not |
$TECHNICIAN | Provides the name of the technician who handles the request |
$SUPPORTREP_LOGINNAME | Provides the login name of the support technician |
$STATUS | Provides the current status of the request |
$PRIORITY | Denotes the priority of the request |
$CLOSURECODE | Denotes the reason behind closing a request |
$CLOSURECOMMENTS | Provides detailed explanation behind closing the request |
$YETTOREPLYCOUNT | Provides a count of the number of replies to which the technician has not yet replied |
$LOGIN_NAME | Provides the login name through which the request was raised |
$IS_CATALOG_TEMPLATE | Denotes whether the request is created using service catalog or incident catalog |