{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":38492,"path":"platform-administration/c_SampleFieldValueDurationScript.md","title":"Sample field value duration script","bundle":null,"doc_type":null,"release":"australia","body":"\n# Sample field value duration script\n\nReview the existing Incident Open metric definition to see how you can create your own custom metric.\n\nThis script either provides a duration value or stops processing durations \\(sets the answer variable to false\\) when an incident is closed.\n\n```\n// script can set answer to false to terminate processing of the metric\n    // mi - MetricInstance\n    // answer\n    if (!current.active) {\n    answer = false;\n    mi.endDuration();\n    gs.log(\"Closing field durations\");\n    closeDurations(mi.current);\n    }\n    \n    function closeDurations(current) {\n    var now_GR = new GlideRecord('metric_instance');\n    gr.addQuery('id', current.sys_id);\n    gr.addQuery('calculation_complete', false);\n    gr.addQuery('definition.type', 'field_value_duration');\n    gr.query();\n    while (gr.next()) {\n    gs.log(\"closing: \" + gr.definition.name + \" for: \" + current.number);\n    var definition = new GlideRecord('metric_definition');\n    definition.get(gr.definition);\n    var mi = new MetricInstance(definition, current);\n    mi.endDuration();\n    }\n    }\n```\n\n"}}