在业务规则下使用执行脚本操作,您可以验证请求并更新字段值来自动化请求工作流。您可以使用脚本验证涉及复杂条件的请求、使用第三方应用程序输入的请求,以及基于服务模板资源的验证。
您可以对通过浏览器、API、移动和邮件传入的请求执行业务规则脚本。
使用案例:
根据不同模块或应用程序中的字段值更新请求字段。
用户记录资产的服务请求。
在本例中,您可以编写一个脚本来自动检查资产可用性,然后将其指派给请求,并更新资产模块。
随时停止请求操作。
您可以简单地定义不允许请求人或技术员进行的操作,无论是数据修改还是请求处理的任何给定阶段中的操作本身。
用户记录新笔记本电脑的服务请求。在此请求处理过程中,您可以在以下情况下使用业务规则脚本执行:
停止创建请求本身。
当同一请求者对同一类别、子类别和项提出请求时,防止请求重复。
在业务规则中添加命令
指令示例:

在上面截图中, update.py是一个脚本文件(验证和更新字段值),pythonupdate.py $COMPLETE_V3_JSON_FILE 是配置来执行脚本的命令。
支持参数—$COMPLETE_V3_JSON_FILE
$COMPLETE_V3_JSON_FILE表示文件的路径,该文件具有完整的请求详细信息、以前的和更新的JSON格式字段值。该文件是临时的,脚本执行后将自动删除。
临时JSON文件在SDP_Home\integration\custom_scripts\request\目录中创建,文件名为.json。
$COMPLETE_V3_JSON_FILE结构
{ "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" } 输入提供给$COMPLETE_V3_JSON_FILE temp file
输入时JSON格式。这里请求键包含除了解析、首次响应逾期时间、逾期使劲按和sla之外的所有V3 API格式的请求字段。
输入文件中给出的附加信息
输入文件中给出的附加信息Output JSON format for custom scripts
请求文件的脚本应该返回一个JSON,该JSON具有成功/失败状态,并在请求的历史选项卡中显示一条消息。
通用格式:
{ "Result": "success", "message": "message" }服务器脚本必须将输出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" } } } ] } ] }
字段更新
email_ids用于通知 | created_time | 资产 |
udf_fields | service_category | 分类 |
子分类 | 条目 | 组 |
状态 | 优先级 | 模式 |
级别 | 影响 | 紧急度 |
impact_details | request_type | 技术员 |
资源 | is_fcr |
反操作的例子
{ "result": "success", "operation": [ { "OPERATION_NAME": "NEGATE", "REASON": "Negate Reason" } ] }