Skip to main content

ServiceNow - Permissions on variables: only allow certain individuals to view the variable on the RITM

 go to the variable> permission tab






masked variables:

see https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0681163 

 

other ideas:

 

Push sensitive variables into a single multi-line variable on submit of the cat item

 

Example onsubmit client script:

function onSubmit() {

    //Type appropriate comment here, and begin script below

 

    var sVars = g_form.getValue('test_variable_1') + '\n' + g_form.getValue('test_variable_2');

   

   

    g_form.setValue('sensitive_data', sVars);

 

    g_form.setMandatory('test_variable_1', false);

    g_form.setMandatory('test_variable_2', false);

   

    g_form.setValue('test_variable_1', '');

    g_form.setValue('test_variable_2', '');

 

}


 


Use display business rule with g_scratchpad to determine visibility

 

Business rule

(function executeRule(current, previous /*null when async*/) {

 

    // Add your code here

    var reqFor=current.requested_for;

    var opBy=current.opened_by;

   

    g_scratchpad.reqFor=reqFor.toString();

    g_scratchpad.opBy=opBy.toString();

   

    gs.addInfoMessage('requested for: ' + current.requested_for);

   

    gs.addInfoMessage('opened by: ' + current.opened_by);

 

})(current, previous);

 

Client script (on RITM, task)

function onLoad() {

   //Type appropriate comment here, and begin script below

   alert('scratchpad req for: '+g_scratchpad.reqFor);

    alert('scratchpad op by: '+g_scratchpad.opBy);

}

 

Use a UI policy to hide the blanked variables on RITM and Task

 

Or, set the rules directly on the variable with access granted via a role


 


 

 

Comments

Popular posts from this blog

URL link in addInfoMessage

var ga=new GlideAjax('gld_HR_ajax'); ga.addParam('sysparm_name', 'checkEmployeeNumber_hrProfile'); ga.addParam('sysparm_hrprofilenumber', g_form.getValue('number')); ga.addParam('sysparm_employeenumber', newValue); ga.getXMLAnswer(function(answer) { if (answer!='undefined' && answer!=''){ var navURL="<a style='text-decoration:underline;color:blue' href=hr_profile.do?sysparm_query=number=" + answer + ">" + answer + "</a><img width='3' src='images/s.gif'/>"; var sMsg='The employee number entered already exists on another HR Profile ' + navURL; //alert(sMsg); g_form.showErrorBox('employee_number', 'error - please check'); g_form.addInfoMessage(sMsg); } });

GlideRecord setValue

setValue(String name, Object value) Sets the specified field to the specified value. Normally a script would do a direct assignment, for example,  gr.category = value . However, if in a script the element name is a variable, then  gr.setValue(elementName, value)  can be used. When setting a value, ensure the data type of the field matches the data type of the value you enter. This method cannot be used on journal fields. If the value parameter is null, the record is not updated, and an error is not thrown https://developer.servicenow.com/app.do#!/api_doc?v=madrid&id=r_GlideRecord-setValue_String_Object