批量填写报表查询出的多个请求的解决方案并更新状态

批量填写报表查询出的多个请求的解决方案并更新状态

本知识为自定义计划,调用自定义计划函数,实现批量关闭报表查询出的特定工单
     
参考客户场景:
      批量为客户zabbix告警产生的一类工单填写相同的解决方案并完成快速关单

使用模块
报表查询需要更新的工单ID,
自定义计划函数填写解决方案及更新工单状态的deluge方法
自定义计划一次性调用实现批量更新工单动作

步骤
1 首先出具需要关单数据的报表。
参考报表:
SELECT wo.WORKORDERID AS "请求ID" FROM WorkOrder wo LEFT JOIN WorkOrderStates wos ON wo.WORKORDERID=wos.WORKORDERID WHERE  ( ( ( wos.ASSIGNEDTIME >= 1696089600000 ) AND ( ( wos.ASSIGNEDTIME != 0 ) AND ( wos.ASSIGNEDTIME IS NOT NULL ) ) ) AND ( ( wos.ASSIGNEDTIME <= 1698767999000 ) AND ( ( ( wos.ASSIGNEDTIME != 0 ) AND ( wos.ASSIGNEDTIME IS NOT NULL ) ) AND ( wos.ASSIGNEDTIME != -1 ) ) ) )  AND wo.ISPARENT='1'

2 填写自定义计划函数 
//加粗处为根据实际需要做替换内容
ReqIdCol=Collection();
ReqIdCol=reportObj.get("ID报表");
for each rid in ReqIdCol
{
reqID=rid.get("请求ID");
headers = {"authtoken":"5C0AE036-A496-4910-9F28-6BA1AAE632A1"};
input_data = {
    "request": {
        "resolution": {
            "content": "Mail Fetching Server problem has been fixed"
        },
        "status": {
            "name": "已解决"
        }
    }
};
params = {"input_data": input_data};
response = invokeurl
[
url: url
type: PUT
parameters: params
headers: headers
];
info response;
}
return reportObj ;

3 自定义计划进行一次性调用