- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-15-2020 11:50 PM
Hi Experts,
I need help on background scripting of 5 different change number for change state from review to closed in the change request table.
Change number is like change_request.numberINCHG0010144,CHG0010139,CHG0010138,CHG0010127,CHG0010126.
Thanks
Kaushik
Solved! Go to Solution.
- Labels:
-
Scripting and Coding

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-15-2020 11:55 PM
Hi Kaushik,
Here you go.
var numarray = ["CHG0010144","CHG0010139","CHG0010138","CHG0010127","CHG0010126"];
for (var i = 0; i < numarray.length; i++){
var gr = new GlideRecord("change_request");
gr.addQuery('number', numarray[i]);
gr.query();
while(gr.next()){
gr.state = '3';
gr.setWorkflow(false);
gr.update();
}
}
- Pradeep Sharma

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-15-2020 11:53 PM
Would you like to close the related problems .change tasks,child changes,request if any as well?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-16-2020 12:05 AM
Hi Mouli,
Under these change numbers, the ctask numbers like CTASK0010122 are also there which should change its state from open to closed too.
Thanks
Kaushik
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-16-2020 12:10 AM
Hi Kaushik,
please find below script to close the change and change task as well
var numbers = 'CHG0010144,CHG0010139,CHG0010138,CHG0010127,CHG0010126';
var gr = new GlideRecord("change_request");
gr.addQuery('number', 'IN', numbers);
gr.query();
while(gr.next()){
gr.state = '3';
gr.setWorkflow(false);
gr.update();
var task = new GlideRecord('change_task');
task.addQuery('change_request', gr.sys_id);
task.query();
while(task.next()){
task.state = '3';
task.setWorkflow(false);
task.update();
}
}
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-16-2020 12:14 AM
Hi Kaushik,
Thanks for the update. Updating the script I shared earlier to accommodate closing of change task as well.
var numarray = ["CHG0010144","CHG0010139","CHG0010138","CHG0010127","CHG0010126"];
for (var i = 0; i < numarray.length; i++){
var gr = new GlideRecord("change_request");
gr.addQuery('number', numarray[i]);
gr.query();
while(gr.next()){
//close change task first if there are any open
closeChgTask(gr.getValue('sys_id'));
gr.state = '3';
gr.setWorkflow(false);
gr.update();
}
}
function closeChgTask(sysId)
{
var chgtaskGr = new GlideRecord('change_task');
chgtaskGr.addQuery('change_request', sysId);
chgtaskGr.query();
while(chgtaskGr.next()){
chgtaskGr.state = '3';
chgtaskGr.setWorkflow(false);
chgtaskGr.update();
}
- Pradeep Sharma