通过业务规则中的执行脚本操作,您可以验证请求并更新字段值,以实现请求工作流自动化。对于涉及复杂条件的请求验证,或使用第三方application输入的请求,您可以使用脚本来完成验证。
您可以对通过浏览器、API、移动端和邮件传入的请求执行业务规则脚本。
用户为某个资产提交了一条服务请求。
在这种情况下,您可以编写脚本自动检查资产可用性,然后将其分配给该请求,并更新资产模块中的资产状态。
您只需定义在请求处理的任意阶段,请求人或技术人员哪些操作是不被允许的,无论是数据修改还是操作本身。
用户提交了一条关于新笔记本电脑的服务请求。 在此请求处理过程中,您可以在以下情况下使用业务规则脚本执行:
用于防止同一请求人针对相同分类、子分类和项目重复提交请求。
在显示的文本框中,输入包含脚本的文件名,然后点击保存。
以从 ServiceDesk Plus 创建 Jira 工单为例。要为此操作配置自定义脚本,
创建一个文本文件,并写入以下命令:
将文件保存为create-jira-ticket.txt 并放置在[SDP_HOME]/integration/custom_scripts/executor_files目录下。
配置自定义操作时,在执行器字段中输入文件名。
填写完其他所有详细信息后,点击保存。

执行期间,application将从给定的文本文件中获取命令。
$COMPLETE_V3_JSON_FILE 表示一个文件路径,该文件以 JSON 格式包含完整的请求详细信息、之前的字段值和更新后的字段值。该文件是临时文件,脚本执行后会被自动删除。
临时 JSON 文件会在 SDP_Home\integration\custom_scripts\request\ 目录中创建,文件名为 <requestid_timestamp>.json。
$COMPLETE_V3_JSON_FILE 结构
{
"request": {
<V3 格式中的所有请求属性>
},
"diff": {
"old": {
"request": {
"priority": {
"id": "4",
"name": "高"
},
"urgency": {
"id": "3",
"name": "普通"
},
"impact_details": "对服务器有高影响"
}
},
"new": {
"request": {
"priority": {
"id": "1",
"name": "低"
},
"urgency": {
"id": "4",
"name": "低"
},
"impact_details": "对服务器影响较低"
}
}
},
"LOGIN_NAME": "administrator",
"LOGGEDIN_USER_TYPE": "Technician",
"LOGGEDIN_USER_NAME": "administrator",
"OPERATION_TYPE": "add"
}
输入为 JSON 格式。这里的request键包含用户提供的字段以及系统按 V3 API 格式填充的字段。
请求文件对应的脚本应返回一个 JSON,其中包含成功/失败状态以及一条消息,该消息将显示在请求的历史记录选项卡中。
通用格式:
{
"result": "success",
"message": "消息"
}
服务器脚本必须将输出 JSON(如有)写入提供给脚本的同一个临时文件中。您不得调用外部 API 来更新同一个请求,因为这样将导致更新后的值无法传递到级联业务规则中。
您可以通过返回的 JSON 执行更新和否决 操作。
更新操作示例
{ "result": "success", "message": "Python 脚本示例", "operation": [ { "OPERATION_NAME": "UPDATE", "INPUT_DATA": [ { "request": { "urgency": { "name": "高" }, "group": { "name": "网络" }, "priority": { "name": "高" } } } ] } ]}
否决操作示例
{ "result": "success", "operation": [ { "OPERATION_NAME": "NEGATE", "REASON": "否决原因" } ]}
点击此处查看以下使用场景的示例脚本: