How can i uncancel a change

rick_george
Kilo Explorer

One of my techs thought he was cancelling an update to a change when in fact he cancelled the change itself.   Is there any way to reverse this action?

1 ACCEPTED SOLUTION

rlehmann
Kilo Sage

If your change process leverages any work flow, you won't be able to reactivate the change and have it follow it since it has already ended.


The way we addressed this was to leverage a Copy Change UI Action, which allows our ITIL users to copy the information from an existing change request (open or closed) to a new change request. If you have change requests under the related lists, you could likely link the change requests together. I followed the information provided in community posts such as this one (Can you clone/copy a change request? ) and just customized the script to copy over the specific fields I needed.


Cheers


Ron


View solution in original post

2 REPLIES 2

rlehmann
Kilo Sage

If your change process leverages any work flow, you won't be able to reactivate the change and have it follow it since it has already ended.


The way we addressed this was to leverage a Copy Change UI Action, which allows our ITIL users to copy the information from an existing change request (open or closed) to a new change request. If you have change requests under the related lists, you could likely link the change requests together. I followed the information provided in community posts such as this one (Can you clone/copy a change request? ) and just customized the script to copy over the specific fields I needed.


Cheers


Ron


TimW1
Tera Expert

use a fix script...

 

gs.print("starting");

var numberlist = 'CHG0040678';


var numberarray = numberlist.split(',');
gs.print("Number Array Count: " + numberarray.length);
var i = 0;
var curnum = '';
for(i = 0; i<numberarray.length;i++){
curnum = numberarray[i] + '';
restartRITM(curnum);
}
gs.print("ended");


function restartRITM(number) {
gs.print('restarting ' + number);
var rec = new GlideRecord('change_request');
rec.query('number', number);
rec.query();
while (rec.next()) {
gs.print("updating rec: " + rec.number);
rec.state = -5;
rec.active = true;
rec.autoSysFields(false);
rec.setWorkflow(false);
rec.update();
new Workflow().restartWorkflow(rec);
new Workflow().broadcastEventToCurrentsContexts(rec, 'update', null);

}
}