The CreatorCon Call for Content is officially open! Get started here.

metric is not ending when ticket gets closed

anshul_jain25
Kilo Guru

I have created a metric which store duration how much time a assignment group is taking. but this metic should end when ticket is closed

find_real_file.png

calculation should complete and metric should provide duration when ticket is closed or inactive

1 ACCEPTED SOLUTION

Hi Alikutty,



below is the code which i found from communities which is running for me,



if (current.state == 6) {     //change according to your closed state


  answer = false;


  mi.endDuration();


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.addQuery('definition', '39d43745c0a808ae0062603b77018b90'); //mark your metric definition sysid


  gr.query();


  while (gr.next()) {


  var definition = new GlideRecord('metric_definition');


  definition.get(gr.definition);


  var mi = new MetricInstance(definition, current);


  mi.endDuration();


  }


}


View solution in original post

38 REPLIES 38

It seems like some issue in the instance. Can you check the same on a developer instance once?



Thank You


Please Hit Like, Helpful or Correct depending on the impact of response


ok


Hi , i have checked on other env also but code is not working, can you check in your instance by removing that code , last metrics should be false only, why i am asking this is to check that metrics is stopping or not when you are not writing code


Hi Alikutty,



below is the code which i found from communities which is running for me,



if (current.state == 6) {     //change according to your closed state


  answer = false;


  mi.endDuration();


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.addQuery('definition', '39d43745c0a808ae0062603b77018b90'); //mark your metric definition sysid


  gr.query();


  while (gr.next()) {


  var definition = new GlideRecord('metric_definition');


  definition.get(gr.definition);


  var mi = new MetricInstance(definition, current);


  mi.endDuration();


  }


}


I can't seem to get this to work. I think I have done everything right.

find_real_file.png

 

Any input would be apreciated.

 

BR - Thomas