Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

calculate mttr based on created date and resolved date

sangitakumari
Tera Contributor

I have calculated MTTR based on created date and resolved date but output is not getting fetched in actual field. when i created test variable getting proper output. MTTR field type is duration and created date and resolved date are date/time type. 

below are  screenshot. if anyone know please let us know 

sangitakumari_0-1729697229160.png

 

sangitakumari_1-1729697269820.pngsangitakumari_2-1729697298227.png

 

sangitakumari_3-1729697364544.png

 

2 REPLIES 2

AndersBGS
Tera Patron
Tera Patron

Hi @sangitakumari ,

 

What is the business requirement for this? Is that reporting perspective or? 

 

If my answer has helped with your question, please mark my answer as accepted solution and give a thumb up.

 

Best regards

Anders 

If my answer has helped with your question, please mark my answer as the accepted solution and give a thumbs up.

Best regards
Anders

Rising star 2024
MVP 2025
linkedIn: https://www.linkedin.com/in/andersskovbjerg/

Requirement:

REQ:
MTTR(Mean time to resolve) on INC calculation :
Currently it is calculated based on the difference between "u_actual_resolution_date AND u_real_start_date"

 

Expecatation:
In case if the fileds "u_actual_resolution_date,u_real_start_date" are not filled in, the MTTR should be calculated based on  "created" and "resolved" fields.

this is the requirement .

 

so i calculated mttr based on created and resolved but data value are not getting fetched in mttr field.  I am getting output in test variable but not getting output value in actual field i wrote the code below . and screenshot of data dictionary entry of mttr field.

(function executeRule(current, previous /*null when async*/ ) {

    var gr = new GlideRecord('incident');
    gr.query('sys_id', current.sys_id);
    gr.query();
    if (gr.next()) {
        var createdDate = new GlideDateTime(current.sys_created_on);
        var resolvedDate = new GlideDateTime(current.resolved_at);
        var dur = GlideDateTime.subtract(createdDate, resolvedDate);
        // var diff1 = gs.dateDiff(createdDate, resolvedDate);
        // var diff2 = new GlideDuration(diff1);

        var test = dur.getDisplayValue();
        // var dur = gs.dateDiff(createdDate, resolvedDate);
        gr.u_rpt_mttr = test;
        // gr.u_rpt_mttr = diff1;
        // gs.addInfoMessage("testing time" + test);
        // gs.addInfoMessage("diff2" + diff1);
        // gs.addInfoMessage("Mtttr timing:" + gr.u_rpt_mttr);
        // gs.addInfoMessage("diff1:" + gr.u_rpt_mttr);
        // gs.addInfoMessage("diff2:" + gr.u_rpt_mttr);
        // gs.addInfoMessage("createdDate " + createdDate);
        // gs.addInfoMessage("resolvedDate" + resolvedDate);

        gs.addInfoMessage("testing time" + test);
        gs.addInfoMessage("Mtttr timing:" + gr.u_rpt_mttr);
        gs.addInfoMessage("createdDate " + createdDate);
        gs.addInfoMessage("esolvedDate" + resolvedDate);
        gr.update();
        // gs.addInfoMessage("testing time" + test);
        // gs.addInfoMessage("Mtttr timing:" + gr.u_rpt_mttr);
        // gs.addInfoMessage("createdDate " + createdDate);
        // gs.addInfoMessage("esolvedDate" + resolvedDate);
}
 
this is the screenshot mttr field.
sangitakumari_0-1729738126891.png

 if anyone know this please help me out.