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(); }