通过业务规则中的执行脚本操作,可以验证请求并更新字段值,从而自动执行请求工作流。您可以使用脚本对涉及复杂条件的请求或使用第三方应用程序输入的请求进行验证。
您可以对通过浏览器、应用程序接口、手机和邮件接收的请求执行业务规则脚本。
用户记录了一个资产服务请求。
在这种情况下,可以编写一个脚本来自动检查资产的可用性,然后将其指派给请求,并更新资产模块中的资产状态。
您可以简单地定义请求者或技术人员不允许进行的,无论是数据修改还是请求处理过程中任何给定阶段的动作本身。
用户记录了一个新笔记本电脑的服务请求。在请求处理过程中,可以在以下情况下使用业务规则脚本执行:
当同一请求者对同一类别、子类别和项目提出请求时,为了防止重复请求。
考虑从 ServiceDesk Plus 提出 Jira 工单的情况。 为该动作配置自定义脚本:
用下面的命令创建一个文本文件:
将文件保存为 create-jira-ticket.txt,并放在 [SDP_HOME]/integration/custom_scripts/executor_files 目录下。
配置自定义动作时,在执行器字段中输入文件名。
提供所有其他详细信息后单击保存。
在执行过程中,应用程序将从给定的文本文件中获取命令。
$COMPLETE_V3_JSON_FILE 表示一个文件的路径,该文件包含完整的请求详细信息、JSON 格式的先前和更新字段值。该文件是临时文件,脚本执行后将自动删除。
临时 JSON 文件创建在 SDP_Home\integration\custom_scripts\request\ 目录中,文件名为 <requestid_timestamp>.json。
$COMPLETE_V3_JSON_FILE structure
{
"request": {
<all request properties in V3 format>
},
"diff": {
"old": {
"request": {
"priority": {
"id": "4",
"name": "High"
},
"urgency": {
"id": "3",
"name": "Normal"
},
"impact_details": "High impact for servers"
}
},
"new": {
"request": {
"priority": {
"id": "1",
"name": "Low"
},
"urgency": {
"id": "4",
"name": "Low"
},
"impact_details": "Low impact for servers"
}
}
},
"LOGIN_NAME": "administrator",
"LOGGEDIN_USER_TYPE": "Technician",
"LOGGEDIN_USER_NAME": "administrator",
"OPERATION_TYPE": "add"
}
Copy to clipboardCopy to clipboardCopy to clipboard
输入为 JSON 格式。 在这里,请求键包含用户提供的字段和系统以 V3 API 格式填写的字段。
请求文件的脚本应返回一个 JSON 文件,其中包含成功/失败状态和一条信息,该信息将显示在请求的历史选项卡中。
常规格式:
{
"result": "success",
"message": "Message"
}Copy to clipboardCopy to clipboardCopy to clipboard
服务器脚本必须将输出 JSON(如有)写入提供给脚本的同一临时文件。不得调用外部 API 调用来更新同一请求,因为这样做将无法把更新后的值转入级联业务规则。
您可以使用 JSON 返回值执行更新和否定操作。
更新操作示例
{
"result": "success",
"message": "Sample Python script",
"operation": [
{
"OPERATION_NAME": "UPDATE",
"INPUT_DATA": [
{
"request": {
"urgency": {
"name": "High"
},
"group": {
"name": "Network"
},
"priority": {
"name": "High"
}
}
}
]
}
]
}
否定动作示例
{
"result": "success",
"operation": [
{
"OPERATION_NAME": "NEGATE",
"REASON": "Negate Reason"
}
]
}
点击此处 查看以下用例的示例脚本: