Javascript 如果更改任务已过服务到期日期,则发送电子邮件通知

Javascript 如果更改任务已过服务到期日期,则发送电子邮件通知,javascript,email-notifications,servicenow,Javascript,Email Notifications,Servicenow,我正在尝试设置一个电子邮件通知,只有当一个更改任务已经过了截止日期!该电子邮件应仅发送给已分配变更任务的人员 这就是我正在做的: 1) 这是计划作业中的脚本: var gr = new GlideRecord('change_task'); gr.addQuery('due_date','<=', gs.nowDateTime()); gr.query(); var count = gr.getRowCount(); if (

我正在尝试设置一个电子邮件通知,只有当一个更改任务已经过了截止日期!该电子邮件应仅发送给已分配变更任务的人员

这就是我正在做的:

1) 这是计划作业中的脚本:

      var gr = new GlideRecord('change_task');
      gr.addQuery('due_date','<=', gs.nowDateTime());
      gr.query();


      var count = gr.getRowCount();
      if (count > 0)
      {
        gs.eventQueue("change_task.duedate_reminder", gr, gs.getUserID(), gs.userName());
      }
var gr=new GlideRecord('change_task');

gr.addQuery('due_date','如果
count
大于0,则需要调用
gr.next()
来加载集合中的每个记录,否则,将传递给
gs.eventQueue(…)
gr
实例将不填充结果(eventQueue仅处理一条填充的记录)

如果您可能需要一组记录,则需要像这样迭代它们:

gr.query();
while (gr.next()){
   gs.eventQueue("change_task.duedate_reminder", gr, gs.getUserID(), gs.userName());
}

我还想补充一点,当前脚本在每次运行时都会向每个过期更改任务发送通知。如果您希望它只发送一次通知,则需要稍微更改查询,以便只获取自上次运行脚本以来的项目。例如,如果脚本每小时运行一次:var gr=new GlideRecord('change_task');gr.addQuery('due_date','',gs.hoursAgo(1));gr.query();