Query a table:
var gr = new GlideRecord('incident');
gr.addQuery('number', 'INC0010001');
gr.query();
if (gr.next()) {
gs.info('Short Description: ' + gr.getValue('short_description'));
} else {
gs.info('No matching record found.');
}
Update Record:
var gr = new GlideRecord('incident');
gr.addQuery('number', 'INC0010001');
gr.query();
if (gr.next()) {
gr.short_description = 'Updated via background script';
gr.state = 2;
gr.update();
gs.info('Record updated: ' + gr.number);
} else {
gs.info('Record not found.');
}
Glide Ajax ServiceNow:
var ga = new GlideAjax('Get_group_member');
ga.addParam('sysparm_name', 'getMemberof');
ga.addParam('sysparm_user', newValue);
ga.getXML(getData);
function getData(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
if (answer == 'false'){
// nothing
}else{
g_form.clearValue('userid');
}
}
getMemberof: function() {
var user = this.getParameter('sysparm_user');
var group = this.getParameter('sysparm_group');
var enq='group.name=' + group + '^user=' + user;
var gr = new GlideRecord('sys_user_grmember');
gr.addEncodedQuery(enq);
gr.query();
if (gr.next()) {
return true;
} else {
return false;
}
},
Group by Category Name for ServiceNow:
var count = new GlideAggregate('incident');
//count.addQuery('active', '=','true');
count.addAggregate('COUNT', 'category');
count.query();
while (count.next()) {
var category = count.category;
var categoryCount = count.getAggregate('COUNT', 'category');
gs.info("There are currently " + categoryCount + " incidents with a category of " + category);
}
Get Operation Name in BR: Business Rule can run insert/update/delete in many conditions. To Identify on which condition the business is actually trigger.
current.operation()
Record Producer Code:
If you want to redirect the user after submitting the record producer from native view: producer.redirect = "catalog_home.do?sysparm_view=catalog_default"; If you want to redirect the user to portal: producer.portal_redirect = "sp?id=sc_home"; If you want to set some fields value : current.short_description = "Please reboot " + producer.cmdb_ci.getDisplayValue(); Put some work notes: current.work_notes = producer.variables.field_1 + '\n' + producer.variable.field2;
Revert Workflow to Old Version by Script:
var getInc = new GlideRecord('wf_workflow_version');
if (getInc.get('3b95753ad0d60200085a28e2b5794e1e')) //Current Version
{
getInc.published = false;
getInc.update();
}
//To publish old one
var getInc = new GlideRecord('wf_workflow_version');
if (getInc.get('3b95753ad0d60200085a28e2b5794e1e')) //Old Version
{
getInc.published = true;
getInc.update();
}