サービス:スケジュールされたジョブ、承認のためのリマインダーを送信する


私は予定の仕事を書く必要があります.そして、それは承認された人にX日ごとに承認のために通知通知を送ります.
日の整数はプロパティとして保存されます.承認表では、承認が作成されたときに記入されている「うるさいRemoderRank - date」というフィールドを追加しました.リマインダーはリクエストか要求されたアイテムのどちらかである承認を送るだけです.ここでは、addquery ' instanceof 'を完全に使用できることを学びました!
以下はスクリプトです.
var approvalGR = new GlideRecord('sysapproval_approver');

approvalGR.addEncodedQuery('u_reminder_date', gs.now());
approvalGR.addQuery('state', 'requested');
approvalGR.addQuery('sysapproval.sys_class_name', 'INSTANCEOF', 'sc_req_item');


approvalGR.query();


var reminderDate = new GlideDateTime();

reminderDate.addDaysUTC(gs.getProperty('approval.reminder.days'));


while (approvalGR.next()) {
    gs.eventQueue('reminder.notification', approvalGR, approvalGR.approver.getValue('email'), '');
    approvalGR.u_reminder_date.setValue(reminderDate);
    approvalGR.update();

}
また、ユーザーがコメントの書き込みを行うことができます.その場合、私は承認テーブルの上でビジネス規則を加えました.commenterが承認と同じであるとき、思い出させる日付はX日のために押し戻されます.
if (gs.getUserID() == current.getValue('approver') && current.state == previous.state) {

        var currentDate = new GlideDateTime();
        currentDate.addDaysUTC(gs.getProperty('approval.reminder'));
        current.u_reminder_date.setValue(currentDate);
    }