Scheduled JOB failed
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-25-2024 07:40 AM
I have created a schedule Job to auto close change request.
when all the change task(type = implementation) associated to the change request is closed successfull, within the end date, then it should auto close the change request after 5 days.
var change_request = new GlideRecord("change_request");
var pn = 5;
change_request.addEncodedQuery('type=Standard^sys_domain=93945d24134362006f37b6d96144b076');
change_request.addQuery('end_date', '<=', gs.daysAgo(pn));
change_request.addQuery('state', '6');
change_request.addQuery('approval', 'approved');
change_request.query();
while (change_request.next()) {
var change_task = new GlideRecord("change_task");
change_task.addQuery('change_request', change_request.sys_id);
change_task.addQuery('active', 'false');
change_task.addQuery('u_type', 'Implementation');
change_task.query();
var allTasksAreImplementation = true;
while (change_task.next()) {
if (change_task.closed_at < change_request.end_date) {
change_task.addQuery('state', '3');
gs.log('Kamali Auto closure 2' + change_request.number);
} else {
allTasksAreImplementation = false;
gs.log('Kamali Not Auto closure' + change_request.number);
break;
}
}
if (allTasksAreImplementation) {
change_request.state = '7';
change_request.u_sub_status = 'Successful';
change_request.comments = 'Change is automatically closed after 5 days.';
change_request.active = false;
change_request.update();
}
}
Which will run daily at 1am,
it looks like the intended output is failed, instead if closing the only the matching change request it has closed everything despited of what conditions it is.
Can someone look into it and check if this can be fixed.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-25-2024 08:11 AM - edited 03-25-2024 08:12 AM
On this line
change_task.addQuery('change_request', change_request.sys_id);
Try
change_task.addQuery('change_request', change_request.sys_id.toString());
I have seen this fix issues several times in queries.
And here
if (change_task.closed_at < change_request.end_date) {
try converting the dates to numeric values before comparing them in an if condition.
if (change_task.closed_at.getNumericValue() < change_request.end_date.getNumericValue()) {