Javascript 如果更改任务已过服务到期日期,则发送电子邮件通知
我正在尝试设置一个电子邮件通知,只有当一个更改任务已经过了截止日期!该电子邮件应仅发送给已分配变更任务的人员 这就是我正在做的: 1) 这是计划作业中的脚本: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 (
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();