background_scripts
This is an old revision of the document!
Table of Contents
Background Scripts
Approve
var app = new GlideRecord('sysapproval_approver');
app.addQuery('state','requested');
//app.setLimit(30);
app.query();
while(app.next())
{
gs.print('Approval count in requested state '+app.getRowCount());
app.state='approved';
app.update();
}
Clear Attribute
ClearUserLog();
//Log Time Started
UserLog("Script Started at" + gs.nowDateTime());
//Query Table
var gr = new GlideRecord('sys_user');
gr.addNotNullQuery('mobile_phone');
gr.query();
//Update Records
while (gr.next()) {
gr.mobile_phone = "";
gr.setWorkflow(false);
gr.update();
}
//Log Time Ended
UserLog("Script Ended at" + gs.nowDateTime());
Fix SLA
ClearUserLog();
var gr = new GlideRecord('incident');
gr.addQuery("numberSTARTSWITHMINC_");
gr.query();
UserLog("Number of incidents to update " + gr.getRowCount());
var sla = new SLARepair();
while(gr.next()) {
var sysId = gr.getValue('sys_id');
gs.info("Updating incident " + sysId);
sla.repairBySysId(sysId, "incident");
}
Metric Incident Category TESTING
ClearUserLog();
var definition = new GlideRecord("metric_definition");
definition.get("name", "Incident Category")
UserLog(definition.name);
var gr = new GlideRecord("incident");
//gr.addEncodedQuery("opened_at<=javascript:gs.endOfToday()");
gr.addEncodedQuery("numberSTARTSWITHINC0010525");
gr.query();
UserLog('Found ' + gr.getRowCount());
// Update fieldname below for category or subcategory
while(gr.next()) {
UserLog("Number "+gr.sys_id);
history = new GlideRecord("sys_audit");
history.addQuery("documentkey", gr.sys_id);
history.addQuery("fieldname", "category");
history.orderBy("sys_created_on");
history.query();
var gdtStart = new GlideDateTime(gr.opened_at);
UserLog('First start '+gdtStart );
var i = 0;
while(history.next()) {
i++
UserLog("Row count"+i);
var grMetric = new GlideRecord('metric_instance');
grMetric.addQuery('id', gr.getValue('sys_id'));
grMetric.addQuery('definition', definition.getValue('sys_id'));
grMetric.addQuery('value', gr.getDisplayValue('category'));
grMetric.query();
UserLog("State "+gr.state);
var gdtEnd = new GlideDateTime(history.sys_created_on);
UserLog("End "+gdtEnd);
if ((gr.state >= 6) && (i > history.getRowCount())) {
gdtEnd = new GlideDateTime(gr.resolved_at);
UserLog("End "+gdtEnd);
} else if(i == history.getRowCount()) {
UserLog("Incident not resolved");
}
if (!grMetric.hasNext()) {
//var now = new GlideDateTime();
var gdurCalendar = GlideDateTime.subtract(gdtStart, gdtEnd);
UserLog("Difference "+gdurCalendar);
}
gdtStart = new GlideDateTime(history.sys_created_on);
UserLog("Next start "+gdtStart);
}
}
Metric Incident Category
Trigger Business Rule
Unlock PROD
Update Time Zone
background_scripts.1734018783.txt.gz · Last modified: by johnsonjohn
