示例:脚本示例所执行的操作
当上报运行操作时,操作将启动脚本。脚本确定将服务请求分配至的组。
以下脚本用于自动将服务请求分配给服务组:
#Check if the SR is classified as a pipe leakage
if v_srclassif=='PIPE_LEAK':
#Now calculate total volume of the pipe-formula is:3.14 * length * (diameter / 24) ^ 2
volume = 3.14 * v_srattrlen * (v_srattrdiameter / 24)**2
if volume < 1000:
#If volume is less than 1000 cubic feet, just assign SR to GROUP A
v_servicegroup = 'GROUP A'
else:
#If vol is greater than 1000 cubic ft, assign SR to GROUP B and create worklog
v_servicegroup = 'GROUP B'
# Now add the MBO API code to create a new record in the work log for the SR
worklogset = mbo.getMboSet ('WORKLOG')
worklog = worklogset.add()
worklog.setValue('clientviewable',1)
worklog.setValue('logtype','WORK')
worklog.setValue('description','System initiated processing-work assigned to GROUP B')
当上报运行时,该脚本将执行以下逻辑:
- 检查服务请求的分类是否为“PIPE_LEAK”。如果找到匹配项,那么将继续执行。
- 通过使用公式计算管道体积,并将结果存储在本地变量中。
- 如果体积小于 1000 立方英尺,那么将服务请求分配给“GROUP A”。
- 如果体积大于 1000 立方英尺,那么将服务请求分配给“GROUP B”。创建工作日志以指示服务请求处理已启动。
| 变量 | 绑定 | 解析绑定的方式 |
|---|---|---|
| v_srclassif | CLASSSTRUCTURE.CLASSIFICATIONID | 脚本编制框架遍历从 SR 对象到 CLASSSTRUCTURE 对象的 CLASSSTRUCTURE 关系,并检索字符串值 CLASSIFICATIONID。 |
| srattrdiameter | TICKETSPECCLASS[ASSETATTRID='DIAMETER'].NUMVALUE | 脚本编制框架遍历从 SR 对象到 TICKETSPECCLASS 对象的 TICKETSPECCLASS 关系,并且检索直径属性的值。为了检索一个属性,绑定在方括号中指定过滤器 [ASSETATTRID= 'DIAMETER']。 |
| v_srattrlen | TICKETSPECCLASS[ASSETATTRID='LENGTH'].NUMVALUE | 脚本编制框架从绑定和过滤器中检索长度属性的单一值。 |
计算管道体积时,脚本将检查值是大于还是小于 1000 立方英尺。根据脚本中 if 和 else 条件的结果,输出变量 v_servicegroup 将设置为服务组 A 或服务组 B。脚本将从 v_servicegroup 变量中检索值,并将该值输入到服务请求中。