Requested Item SLA

aeb5468
Mega Contributor

Hi Everyone!

I have been working on SLAs for the request item level in our instance. I have the SLA starting and pausing when needed. The problem I am having is that I want to have the SLA end when a TASK (this TASK will always be one that is open for the Requested Item) has been assigned. I have tried business rules, UI actions, and client scripts and none have helped with populating data from the TASK up to the requested item. I also can't pull the TASK.assigned_to using the selections on the SLA definition. I just wanted to see if anyone has had any experience with this.

Thank you so much!

Ashley

1 ACCEPTED SOLUTION

aeb5468
Mega Contributor

I got this code working:



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




var kids = new GlideRecord ('sc_task');


kids.addQuery('request_item', current.request_item);


kids.query();


                           


//gs.addInfoMessage("This is requested item number: " + current.number);


//gs.print("This is the requested item number: " + current.number);




while (kids.next()) {


  var parent = new GlideRecord ('sc_req_item');


  parent.addQuery('sys_id',kids.request_item);


  parent.query();


                                             


  while (parent.next()) {


      //gs.addInfoMessage("This is a test: " + parent.number);


      //gs.print("This is a test: " + parent.number);


      //gs.addInfoMessage("backordered before: " + parent.u_sla_state);


      //gs.print("backordered before: " + parent.u_sla_state);


      //gs.addInfoMessage("SLA " + kids.u_sla_progress);  


            if (kids.u_sla_progress == true ) {


                    parent.u_sla_state.setValue('true');


                    parent.update();


                    //gs.addInfoMessage("backordered after: " + parent.u_sla_state);


                    //gs.print("backordered after: " + parent.u_sla_state);


          }


    }


}                                            


})(current, previous);


View solution in original post

24 REPLIES 24

Please post a screenshot of the SLA Definition.


find_real_file.png


find_real_file.png


find_real_file.png


aeb5468
Mega Contributor

I am so confused because if I could just dot walk, it would work!


knight202
Kilo Guru

Thanks. I'll have something to you shortly.


Dave Smith1
ServiceNow Employee
ServiceNow Employee

The problem I am having is that I want to have the SLA end when a TASK has been assigned.


Is that right?   Usually SLAs are to ensure tasks get completed within an agreed timeframe, rather than the clock pauses once someone picks it up.



What's to stop someone taking assignment then sitting on it for months?