Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

how to auto change status of change request form depends on catalog task status in servicenow

Arjun Reddy Yer
Mega Sage

Can anyone help me in getting this as need to auto change status of Change Request form depends on Catalog Task status in servicenow 

as off now when RITM is created then Catalog Task and Change Request are getting created via workflow.

@Ankur Bawiskar @Anil Lande @Sumalatha Y @BharathChintala @mattystern @priyasunku @asifnoor @Pradeep Sharma @SatyakiBose 

2 ACCEPTED SOLUTIONS

Sumalatha Y
Kilo Guru

Hi,

Configure flow as below to update change status.

SumalathaY_0-1678394535077.pngSumalathaY_1-1678394587125.pngSumalathaY_2-1678394620960.pngSumalathaY_3-1678394635496.pngSumalathaY_4-1678394656331.pngSumalathaY_5-1678394673479.png

Thanks & Mark Answer Correct/Hit Thumbs Up. If my inputs help you to achieve what you are looking.

Sumalatha Y

View solution in original post

@Arjun Reddy Yer 

you need to decide which state value to set here -2 or -1

try this updated script

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

var gr = new GlideRecord("change_request");
gr.addQuery("parent", current.request_item);
gr.query();
if (gr.next()) {

if(current.state == '2')
{
gr.state = '-2 || -1'; //choice Value For Scheduled or Implement
gs.info('sample enter 1');
}
else if (current.state == '3')
{
gr.state = '3'; //Choice Value for Closed
gs.info('sample 2');
}else if(current.state == '4')
{
gr.state = '4'; //Choice value for Cancelled
gs.info('sample 3');
}else if(current.state == '1')
{
gr.state = '-5'; //Choice value for open
gs.info('sample 4');
}
gr.update();
}
})(current, previous);

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

View solution in original post

34 REPLIES 34

when the Catalog Task State changes to Closed Complete then the Change Request State is changing to Cancelled even though added gs.info() it's not showing any error. @Ankur Bawiskar @Sumalatha Y @Anil Lande @priyasunku 

@Arjun Reddy Yer can you keep gs.info() and check what is the value of current.state and also check which if loop it is entering.

 

If my answer solved your issue, please mark my answer as Correct & 👍Helpful

if I keep gs.info() it's showing error in the script

yerasumalli_0-1678696859480.png

 

@Arjun Reddy Yer you have to keep else if in {} you are using more than one line.

 

If my answer solved your issue, please mark my answer as Correct & 👍Helpful

still same error

 

yerasumalli_0-1678697518279.png

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

var gr = new GlideRecord("change_request");
gr.addQuery("parent", current.request_item);
gr.query();
if (gr.next()) {

if(current.state == '2')
gr.state = '-2'; //choice Value For Scheduled or Implement
gs.info('sample 1');
}else if {(current.state == '3')
gr.state = '3'; //Choice Value for Closed
gs.info('sample 2');
}else if{(current.state == '4')
gr.state = ''; //Choice value for Cancelled
gs.info('sample 3');
}else if(current.state == '1')
gr.state = '-5'; //Choice value for open
gr.update();
})(current, previous);