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

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

This is a response SLA, not a resolution SLA.


There is a resolution SLA that begins once the TASK is assigned and the ITIL user has 3 days to complete it. This SLA is functioning as expected.


Hi Ashley,



Created a video for you to view below. It should help. Let me know if you need more detail.



ServiceNow - How to Create SLAs by dot walking to the Parent Task - YouTube


The problem for this is that this is on the SC_TASK level. It needs to be on the RITM level because this SLA begins with the approval of the request being requested. So my SLA needs to be on the RITM.


You can not dot walk from parent ->child. you have to set a field value on RITM based on task then work on that field value to set SLA.