We're reclaiming inactive PDIs to keep them available for active builders. Learn what's changing, who's affected, and how to protect your work. Read More

Notification not triggering from scheduled Job

armanoj
Mega Sage

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);
        }
    }

 

})();

1 ACCEPTED SOLUTION

Ankur Bawiskar
Tera Patron

@armanoj 

Is it going inside the IF?

Is the notification on sn_grc_task table?

In notification "Event parm1 contains recipient" is TRUE?

check this

(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');
            gs.info('inside IF');

            // Fire event passing only assignedToSysId
            gs.eventQueue('sn_grc.due.date', gr, assignedTo);
        }
    }

})();

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  10x ServiceNow MVP  ||  ServiceNow Community Leader

View solution in original post

2 REPLIES 2

Ankur Bawiskar
Tera Patron

@armanoj 

Is it going inside the IF?

Is the notification on sn_grc_task table?

In notification "Event parm1 contains recipient" is TRUE?

check this

(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');
            gs.info('inside IF');

            // Fire event passing only assignedToSysId
            gs.eventQueue('sn_grc.due.date', gr, assignedTo);
        }
    }

})();

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  10x ServiceNow MVP  ||  ServiceNow Community Leader

Ankur Bawiskar
Tera Patron

@armanoj 

Would you mind closing your earlier questions by marking appropriate response as correct?

Members have invested their time and efforts in helping you.

Regards,
Ankur
Certified Technical Architect  ||  10x ServiceNow MVP  ||  ServiceNow Community Leader