Advertisement
boostn

ScriptInclude - Outage Record

May 25th, 2016
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var OutageRecord = Class.create();
  2. OutageRecord.prototype = Object.extendsObject(AbstractAjaxProcessor, {
  3.    
  4.     createOutagefn: function(incPri,ci_array,incId){
  5.        
  6.         var pType = '';
  7.         var bs_array = [];
  8.         var queryString = "parent.sys_class_name=cmdb_ci_service^ORchild.sys_class_name=cmdb_ci_service";
  9.                
  10.         //Outage Type Based off Incident Priority
  11.         if(incPri == 1){
  12.             pType = 'outage';
  13.         }
  14.        
  15.         else if(incPri == 2){
  16.             pType = 'degradation';
  17.         }
  18.        
  19.         //Get Business Service Offering of Affected CI and PUSH to ARRAY
  20.         var logmsg ='';
  21.        
  22.         for(var i=0; i < ci_array.length; i++){    
  23.             var gr2 = new GlideRecord("cmdb_rel_ci");
  24.             gr2.addQuery("child", ci_array[i]);
  25.             gr2.addEncodedQuery(queryString);
  26.             gr2.query();
  27.             while (gr2.next()) {
  28.                 var so = new GlideRecord("service_offering");
  29.                 so.addQuery("parent", gr2.parent);
  30.                 so.query();
  31.                 if (so.next()) {
  32.                     createOutage(so.sys_id,incId);
  33.                 }
  34.                 logmsg += "BEFORE gr2.parent:" + gr2.parent + '\n';
  35.                
  36.             }
  37.         }
  38.         logmsg += '\n\n';
  39.        
  40.         //Create Outages based on Business Service Offerings tied to the affected CI's
  41.         function createOutage(bs){
  42.            
  43.             var inc = new GlideRecord("incident");
  44.             inc.get(incId);
  45.            
  46.             var gr3 = new GlideRecord("cmdb_ci_outage");
  47.             gr3.initialize();
  48.             gr3.cmdb_ci = bs;
  49.             gr3.type = pType;
  50.             gr3.task_number = current.sys_id; //current.incident
  51.             gr3.message = "Created by System";
  52.             gr3.begin = current.u_service_outage_time;
  53.             gr3.end = current.u_service_restoration_time;
  54.             gr3.u_state = 'pending_review';
  55.             gr3.insert();
  56.         }
  57.        
  58.     },
  59.    
  60.    
  61.     type: 'OutageRecord'
  62. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement