业务规则可以自动化各种任务,例如将事故和服务请求分派至技术支持组;为请求分配技术人员、状态或优先级;甚至是发送邮件通知。
业务规则基于站点,对所有进入的请求运行,并可在请求创建、编辑或删除时应用。只要有进入的请求满足预先指定的条件,业务规则就可以确保自动执行相应的操作。
业务规则由两个主要部分组成,即条件和操作,并且你可以通过自定义函数来配置这两部分。
在为业务规则编写自定义函数之前,建议你先了解如何配置和使用业务规则(ServiceDesk Plus Cloud)。
要编写用于业务规则条件的自定义函数,请按照以下步骤进行:
进入 设置 > 开发者空间 > 自定义函数 > 请求 - 业务规则(或)终止计时器条件。(你也可以在创建/编辑业务规则时直接编写自定义函数。)
点击 新建自定义函数。
为自定义函数提供名称和描述。
在 Deluge 脚本编辑器中,根据以下提示编写自定义函数,然后保存此函数:
如下截图所示,'requestObj' 和 'context' 将作为自定义函数的参数传入:

'requestObj' 用于存储业务规则需处理的请求详情,'context' 存储当前实例及当前登录用户信息。
如果业务规则中的自定义函数配置为在请求编辑时执行,那么 context 对象还将包含 'initialObj' 和 'modifiedFields'。'initialObj' 存储原始请求值,而 'modifiedFields' 存储被修改过的字段信息。
你必须编写自定义函数,使其返回 Boolean(布尔)类型。如果自定义函数返回 'true',则会执行你在业务规则中配置的操作。
例如,以下脚本会在请求主题包含“New issue”时返回 'true':
另举一例:你需要阻止用户重复提交请求,并限制其在 24 小时内每个同类别最多只能提交 3 个请求。你可以在业务规则条件下采用如下脚本自动完成此校验。
编写好自定义函数后,可以按以下步骤进行测试:
点击 保存并执行脚本。
从显示的请求列表中选择一个示例请求并点击 下一步。
将在参数 'requestObj' 下显示传递给自定义函数的数据。你可以选择性地修改 requestObj 字段。点击 执行。
脚本将被执行,输出结果将显示出来。
Deluge 支持通过 info 操作进行调试。你可以打印自定义函数的输出,方便代码调试和排查。
例如,要了解 requestObj 和 context 的结构,只需运行以下脚本并参考响应即可。
要编写可用于业务规则操作的自定义函数,请按照下列步骤进行:
进入 设置 > 开发者空间 > 自定义函数 > 请求 - 业务规则操作。(你也可以在创建/编辑业务规则时直接编写自定义函数。)
点击 新建自定义函数。
为自定义函数提供名称和描述。
在 Deluge 脚本编辑器中,根据以下提示编写自定义函数,然后保存:
如下截图所示,'requestObj' 和 'context' 将作为自定义函数的参数传入:

你必须编写自定义函数,返回 'requestObj'。返回值的数据类型为 Map(映射/字典)。
你对 'requestObj' 字段的更改会自动反映到实际请求中。
新的字段值需按照如下格式从自定义函数返回:
以下示例脚本将请求主题修改为 “Firewall Upgrade”,优先级设为 “High”:
比如你想将 “Network/Internet” 类别请求自动设置为高优先级,可以在业务规则操作中使用如下脚本:
编写好自定义函数后,可以按以下步骤进行测试:
点击 保存并执行脚本。
从显示的请求列表中选择一个示例请求并点击 下一步。
将在参数 'requestObj' 下显示传递给自定义函数的数据。你可以选择性地修改 requestObj 字段。点击 执行。
脚本将被执行,输出结果将显示出来。
测试自定义函数时,可以用 info 语句调试代码并输出结果。例如,想了解 requestObj 和 context 结构,只需运行如下脚本即可。