ClearUserLog(); var definition = new GlideRecord("metric_definition"); definition.get("name", "Incident Category") UserLog(definition.name); var gr = new GlideRecord("incident"); //gr.addEncodedQuery("opened_at<=javascript:gs.endOfToday()"); gr.addEncodedQuery("numberSTARTSWITHINC0010525"); gr.query(); UserLog('Found ' + gr.getRowCount()); // Update fieldname below for category or subcategory while(gr.next()) { UserLog("Number "+gr.sys_id); history = new GlideRecord("sys_audit"); history.addQuery("documentkey", gr.sys_id); history.addQuery("fieldname", "category"); history.orderBy("sys_created_on"); history.query(); var gdtStart = new GlideDateTime(gr.opened_at); UserLog('First start '+gdtStart ); var i = 0; while(history.next()) { i++ UserLog("Row count"+i); var grMetric = new GlideRecord('metric_instance'); grMetric.addQuery('id', gr.getValue('sys_id')); grMetric.addQuery('definition', definition.getValue('sys_id')); grMetric.addQuery('value', gr.getDisplayValue('category')); grMetric.query(); UserLog("State "+gr.state); var gdtEnd = new GlideDateTime(history.sys_created_on); UserLog("End "+gdtEnd); if ((gr.state >= 6) && (i > history.getRowCount())) { gdtEnd = new GlideDateTime(gr.resolved_at); UserLog("End "+gdtEnd); } else if(i == history.getRowCount()) { UserLog("Incident not resolved"); } if (!grMetric.hasNext()) { //var now = new GlideDateTime(); var gdurCalendar = GlideDateTime.subtract(gdtStart, gdtEnd); UserLog("Difference "+gdurCalendar); } gdtStart = new GlideDateTime(history.sys_created_on); UserLog("Next start "+gdtStart); } }