Useful code to get the number of records based on a query.
Script Include Example:
var gaCountReusable = Class.create();
gaCountReusable.prototype = {
initialize: function() {
},
aggregateCount: function(table, query) {
/*
table = tableName [string]
query = encodedQuery [string]
*/
var gaCount = new GlideAggregate(table);
gaCount.addEncodedQuery(query);
gaCount.addAggregate('COUNT');
gaCount.query();
var count = 0;
if (gaCount.next()) {
count = gaCount.getAggregate('COUNT');
return count;
}
},
type: 'gaCountReusable'
};
Mail Script Example:
(function runMailScript( /* GlideRecord */ current, /* TemplatePrinter */ template,
/* Optional EmailOutbound */
email, /* Optional GlideRecord */ email_action,
/* Optional GlideRecord */
event) {
var table = 'incident';
var query = 'stateIN1,2,3^assignment_group!=NULL';
var fieldLabels = ['Number', 'Short Description', 'State','Assignment Group', 'Assigned To'];
var fields = ['number', 'short_description','state','assignment_group', 'assigned_to'];
var results = new gaCountReusable().aggregateCount(table, query, fieldLabels, fields);
template.print(results);
})(current, template, email, email_action, event);
Call Mail Script in Notification:
Number of Incidents: ${mail_script:getIncidentCountGA}
Results (combined with GlideRecord HTML Table – Reusable Code)

