Scheduled job not triggering
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
hi,
I'm facing an issue with scheduled job, it is not triggering .
(function() {
var gr = new GlideRecord('sn_grc_task');
gr.addQuery('active', true);
gr.addQuery('state', 'NOT IN', '3,4,7,9');
gr.addQuery('end_date', '!=', '');
gr.query();
var now = new GlideDateTime();
var currentDate = now.getDate().toString(); // e.g., '2025-08-18'
var sevenDaysBefore = new GlideDate();
sevenDaysBefore.addDays(-7);
var sevenDaysBeforeDate = sevenDaysBefore.toString(); // e.g., '2025-08-11'
var sevenDaysAfter = new GlideDate();
sevenDaysAfter.addDays(7);
var sevenDaysAfterDate = sevenDaysAfter.toString(); // e.g., '2025-08-25'
while (gr.next()) {
var endDateStr = gr.getValue('end_date'); // e.g., '2025-08-18 00:00:00'
var dueDateOnly = endDateStr.split(' ')[0]; // extract '2025-08-18'
if (dueDateOnly == sevenDaysBeforeDate || dueDateOnly == currentDate || dueDateOnly == sevenDaysAfterDate) {
var assignedTo = gr.getValue('assigned_to'); // sys_id of assigned user
gs.eventQueue('sn_grc.due.date.overdue', gr, assignedTo, dueDateOnly);
}
}
})();
running daily
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
all are in same scope
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
I am looking at functions available in scoped GlideDate API. I can not see addDays. There is
addDaysLocalTime(Number days) and addDaysUTC(Number days) available in GlideDateTime. Try using available function in the scope instead
https://developer.servicenow.com/dev.do#!/reference/api/yokohama/server/no-namespace/c_GlideDateTime...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
(function() {
var gr = new GlideRecord('sn_grc_task');
gr.addQuery('active', true);
gr.addQuery('state', 'NOT IN', '3,4,7,9');
gr.addQuery('end_date', '!=', '');
gr.query();
var now = new GlideDateTime();
var currentDate = now.getDate().toString(); // e.g., '2025-08-18'
var sevenDaysBefore = new GlideDate();
sevenDaysBefore.addDays(-7);
var sevenDaysBeforeDate = sevenDaysBefore.toString(); // e.g., '2025-08-11'
var sevenDaysAfter = new GlideDate();
sevenDaysAfter.addDays(7);
var sevenDaysAfterDate = sevenDaysAfter.toString(); // e.g., '2025-08-25'
while (gr.next()) {
var endDateStr = gr.getValue('end_date'); // e.g., '2025-08-18 00:00:00'
var dueDateOnly = endDateStr.split(' ')[0]; // extract '2025-08-18'
if (dueDateOnly == sevenDaysBeforeDate || dueDateOnly == currentDate || dueDateOnly == sevenDaysAfterDate) {
var assignedTo = gr.getValue('assigned_to'); // sys_id of assigned user
gs.eventQueue('sn_grc.due.date.overdue', gr, assignedTo, dueDateOnly);
}
}
})();
The highlighted function addDays that you are accessing using GlideDate() are not available in the Scoped App GlideDate() API. I meant you need to use GlideDateTime() API in scoped app to add Days, That could be the reason your script is not running from scheduled job.
Also, when you access your dates in your script use sevenDaysAfter.getValue(). as addDays method does not return the date.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Try the below script and let me know the outcome:
(function() {
var gr = new GlideRecord('sn_grc_task');
gr.addQuery('active', true);
gr.addQuery('state', 'NOT IN', '3,4,7,9');
gr.addQuery('end_date', '!=', '');
gr.query();
// Current date/time
var now = new GlideDateTime();
// 7 days before
var sevenDaysBefore = new GlideDateTime(now);
sevenDaysBefore.addDaysUTC(-7);
// 7 days after
var sevenDaysAfter = new GlideDateTime(now);
sevenDaysAfter.addDaysUTC(7);
while (gr.next()) {
var endDateStr = gr.getValue('end_date'); // '2025-08-18 00:00:00'
var dueDate = new GlideDateTime(endDateStr);
// Check if due date falls in the ±7 day window
if (dueDate >= sevenDaysBefore && dueDate <= sevenDaysAfter) {
var assignedTo = gr.getValue('assigned_to'); // sys_id of assigned user
var dueDateOnly = dueDate.getDate().toString(); // YYYY-MM-DD
gs.eventQueue('sn_grc.due.date.overdue', gr, assignedTo, dueDateOnly);
}
}
})();