trigger notification from scheduled job
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
4 weeks ago
Hi,
I create event register,scheduled job and notification for sn_grc_task for planned end date field(end_date)
notification needs to trigger 7 days before and after planned end date, on the planned end date.But notification not triggering.
scheduled job:
(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();
var sevenDaysBefore = new GlideDateTime();
sevenDaysBefore.addDaysUTC(-7);
var sevenDaysBeforeDate = sevenDaysBefore.getDate();
var sevenDaysAfter = new GlideDateTime();
sevenDaysAfter.addDaysUTC(7);
var sevenDaysAfterDate = sevenDaysAfter.getDate();
while (gr.next()) {
var dueDateTime = gr.getValue('end_date');
var dueDateOnly = dueDateTime.split(' ')[0];
if (dueDateOnly == sevenDaysBeforeDate || dueDateOnly == currentDate || dueDateOnly == sevenDaysAfterDate) {
var assignedTo = gr.getValue('assigned_to.email');
// Fire event passing only assignedToSysId
gs.eventQueue('sn_grc.due.date', gr, assignedTo);
}
}
})();
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
4 weeks ago
Hi @Arun_Manoj ,
Can you update your script like below and check once?
(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();
var sevenDaysBefore = new GlideDateTime();
sevenDaysBefore.addDaysUTC(-7);
var sevenDaysBeforeDate = sevenDaysBefore.getDate();
var sevenDaysAfter = new GlideDateTime();
sevenDaysAfter.addDaysUTC(7);
var sevenDaysAfterDate = sevenDaysAfter.getDate();
while (gr.next()) {
var dueDateTime = gr.getValue('end_date');
var dueDate = new GlideDateTime(dueDateTime); // Convert end_date to GlideDateTime object
var dueDateOnly = dueDate.getDate(); //Get date part only.
if (dueDateOnly.equals(sevenDaysBeforeDate) || dueDateOnly.equals(currentDate) || dueDateOnly.equals(sevenDaysAfterDate)) {
var assignedTo = gr.getValue('assigned_to.email');
gs.eventQueue('sn_grc.due.date', gr, assignedTo);
}
}
})();
If I could help you with your Query then, please hit the Thumb Icon and mark as Correct !!
Thanks, GP