I am trying to find out the emails logs that are logged in last 7 days.

saikiranbh3
Tera Contributor

I am trying to find out the emails logs that are logged in last 7 days. So im using aggregate and between query but it's giving all the notifications im using this script now

 

 

 

var gdt = new GlideDateTime(gs.nowDateTime());
gs.log(gdt);
var dateArr = gdt.getDisplayValue().split(' ');
var starttime = dateArr[1];//Return time
var startdate = dateArr[0];//return date
gs.log(startdate);
gs.log(starttime);

var ed = new GlideDateTime(gdt);
ed.addDays(-7);
ed.addSeconds(3600);
var enddateArray = ed.getDisplayValue().split(' ');
var endtime = enddateArray[1];//Return time
var enddate = enddateArray[0];//return date
gs.log(ed);
gs.log(enddate);
gs.log(endtime);
var agg = new GlideAggregate('sys_email_log');
agg.addEncodedQuery("sys_created_on1BETWEEN@javascript:gs.dateGenerate('"+enddate+","+endtime+"')@javascript:gs.dateGenerate('"+startdate+"','"+starttime+"')");
agg.addAggregate('count', 'notification');
agg.query();
while (agg.next()) {
    var count = agg.getAggregate('count', 'notification');
    var tables = agg.notification.collection;
    var message = count + ' | ' + agg.notification.getDisplayValue() + ' | ' + tables;
    gs.log(message);
}
// sys_created_onBETWEENjavascript:gs.dateGenerate('2024-11-01','00:00:00')@javascript:gs.dateGenerate('2024-11-04','23:59:59')

 

 

 

The result's are coming like this ( it's retrieving all the records)

saikiranbh3_0-1730706918533.png

 

Any suggestions on this

BR

Sai kiran

 

0 REPLIES 0