Thank you for your feedback.
Form temporarily unavailable. Please try again or contact docfeedback@servicenow.com to submit your comments.
Versions
  • London
  • Kingston
  • Jakarta
  • Istanbul
  • Helsinki
  • Geneva
  • Store
Close

Sample field value duration script

Sample field value duration script

Review the existing Incident Open metric definition to see how you can create your own custom metric.

This script either provides a duration value or stops processing durations (sets the answer variable to false) when an incident is closed.

// script can set answer to false to terminate processing of the metric
    // mi - MetricInstance
    // answer
    if (!current.active) {
    answer = false;
    mi.endDuration();
    gs.log("Closing field durations");
    closeDurations(mi.current);
    }
    
    function closeDurations(current) {
    var gr = new GlideRecord('metric_instance');
    gr.addQuery('id', current.sys_id);
    gr.addQuery('calculation_complete', false);
    gr.addQuery('definition.type', 'field_value_duration');
    gr.query();
    while (gr.next()) {
    gs.log("closing: " + gr.definition.name + " for: " + current.number);
    var definition = new GlideRecord('metric_definition');
    definition.get(gr.definition);
    var mi = new MetricInstance(definition, current);
    mi.endDuration();
    }
    }