Incidents Query - Created On Between Two Times (Historical)

jacobspacek
Giga Guru

I need help modifying this query.

 

Currently, this query will display all incidents created between 8AM and 4PM on 2024-10-10.

 

I need to modify this query to return all incidents created between 8AM and 4PM historically (for all dates)?

 

var gr = new GlideRecord('incident');
var count = 0;

// incidents created between 8AM & 4PM
gr.addEncodedQuery("sys_created_onBETWEENjavascript:gs.dateGenerate('2024-10-10','08:00:00')@javascript:gs.dateGenerate('2024-10-10','15:59:00')");

gr.query();
while (gr.next()) 
{
	gs.info(gr.getDisplayValue());
	count +=1;
}

gs.info(count);

 

 

Any help is greatly appreciated!

12 REPLIES 12

There seems to be some issues converting between UTC?

	var sysIDs = [];
	var gr = new GlideRecord('incident');
	gr.addQuery('active', true);
	gr.addEncodedQuery("assignment_group.typeLIKE8c17c386c3c90614d327f19f05013175"); // Service Assurance
	
	// gr.addEncodedQuery("sys_created_onDATEPARTNoon hour@javascript:gs.datePart('hour','12','EE')"); // 16

	// gr.addEncodedQuery("sys_created_onDATEPART1 pm hour@javascript:gs.datePart('hour','13','EE')"); // 17 (INCLUDES 18???)

	// gr.addEncodedQuery("sys_created_onDATEPART2 pm hour@javascript:gs.datePart('hour','14','EE')"); // 18 (INCLUDES 19???)


	gr.query();
	while (gr.next()) 
	{
		// sysIDs.push(gr.getValue('sys_id'));
		// gs.info(gr.getValue('sys_id') + '|' + gr.getValue('number'))
		// gs.info(gr.getValue('number') + '|' + gr.getValue('sys_created_on') + '|' + gr.getValue('opened_at'));
		gs.info(gr.getValue('number') + '|' + gr.getValue('sys_created_on'));
	} 
	// gs.info(sysIDs.toString());

 

In this example even when checking for single hour increments I am unable to get a clean split or group by hour?

 

For example the 1PM value returns 18 values (utc) not only 17.

Justin Hatfield
Tera Guru

Here is the list returning incidents created on the 4PM hour (my time zone).

JustinHatfield_0-1729176199015.png

 

Here is the script filtered on that hour.

 

JustinHatfield_2-1729176409728.png

 

I've added a code to print the date in UTC and my time zone. Notice that it's filtering based on my time zone.

JustinHatfield_3-1729176437457.png

 

*** I did stumble into a more simplified way to apply the filter you requested (don't forget about the colon thing).

sys_created_onDATEPART8 am hour@javascript:gs.datePart('hour','8','GE')^sys_created_onDATEPART3 pm hour@javascript:gs.datePart('hour','15','LE')