What is GlideUser
gs.getUser()
is used pretty heavily to control access and other things
in Servicenow. I go over all the methods and properties of those below.
Method | Scoped | Global |
---|---|---|
getCompanyID | Scoped | Global |
getDisplayName | Scoped | Global |
getEmail | Scoped | Global |
getFirstName | Scoped | Global |
getID | Scoped | Global |
getLastName | Scoped | Global |
getName | Scoped | Global |
getRoles | Scoped | Global |
getUserRoles | Scoped | Global |
hasRole | Scoped | Global |
isMemberOf | Scoped | Global |
getPreference | Scoped | |
savePreference | Scoped | |
getDomainDisplayValue | Global | |
getManagerID | Global | |
getMyGroups | Global | |
getLanguage | Global | |
getDepartmentID | Global | |
getLocation | Global | |
getCompanyRecord | Global | |
getDomainID | Global |
Server
getCompanyID
Returns the current user's company sys_id.
var currentUser = gs.getUser();
gs.info(currentUser.getCompanyID());
getDisplayName
Returns the current user's display name.
var currentUser = gs.getUser();
gs.info(currentUser.getDisplayName());
getDomainDisplayValue
Returns the display value of the user's session domain.
Note: There is no workaround for scoped applications.
var currentUser = gs.getUser();
gs.info(currentUser.getDomainDisplayValue());
getEmail
Returns the user's email address.
var currentUser = gs.getUser();
gs.info(currentUser.getEmail());
getFirstName
Returns the user's first name.
var currentUser = gs.getUser();
gs.info(currentUser.getFirstName());
getID
Gets the sys_id of the current user.
var currentUser = gs.getUser();
gs.info(currentUser.getID());
getLastName
Returns the user's last name.
var currentUser = gs.getUser();
gs.info(currentUser.getLastName());
getName
Returns the user ID, or login name, of the current user.
var currentUser = gs.getUser();
gs.info(currentUser.getName());
getPreference
Gets the specified user preference value for the current user.
var currentUser = gs.getUser();
currentUser.savePreference(Â'myPref','red');
gs.info(currentUser.getPreference(Â'myPref'));
getRoles
Returns a list of roles that includes explicitly granted roles,
inherited roles, and roles acquired by group membership.
var currentUser = gs.getUser();
gs.info(currentUser.getRoles());
getUserRoles
Returns the list of roles explicitly granted to the user.
Unlike the getRoles() method, this method does not return roles the user
inherits or roles acquired from group membership.
var currentUser = gs.getUser();
gs.info(currentUser.getUserRoles());
gs hasRole
Determines if the current user has the specified role.
var currentUser = gs.getUser();
gs.info(currentUser.hasRole('admin'));
isMemberOf
Determines if the current user is a member of the specified group.
NOTE: This only takes a text string of the name.
var currentUser = gs.getUser();
gs.info(currentUser.isMemberOf('Capacity Mgmt'));
// I prefer to use the sys_id's so here's an example of that instead;
var changeManagementGroup = 'a715cd759f2002002920bde8132e7018';
var userObj = gs.getUser();
var sys_user_grmember = new GlideRecord('sys_user_grmember');
sys_user_grmember.addQuery('user', userObj.getID());
sys_user_grmember.addQuery('group',changeManagementGroup);
sys_user_grmember.setLimit(1);
sys_user_grmember.query();
gs.print(sys_user_grmember.getEncodedQuery());
var isMemberOfChangeManagement = sys_user_grmember.hasNext();
gs.print('isMemberOfChangeManagement: ' + isMemberOfChangeManagement);
if (isMemberOfChangeManagement) {
return true;
}
savePreference
Saves a user preference value to the database.
var currentUser = gs.getUser();
currentUser.savePreference('myPref','red');
gs.info(currentUser.getPreference('myPref'));
getMyGroups
Returns the list the user's groups.
var currentUser = gs.getUser();
gs.info(currentUser.getMyGroups());
getUserByID
Returns the user object by the user's id.
var currentUser = gs.getUser();
gs.info(currentUser.getUserByID('admin'));
getLanguage
Returns the user language.
var currentUser = gs.getUser();
gs.info(currentUser.getLanguage());
getDeparmentID
Returns undefined.
var currentUser = gs.getUser();
gs.print("this seems to fail: " + currentUser.getDeparmentID());
var deptID = currentUser.getDepartmentID();
gs.info("this seems to work: " + deptID);
getLocation
Returns empty string regardless of the user's "location" value.
var currentUser = gs.getUser();
gs.info(currentUser.getLocation());
getCompanyRecord
Returns GlideRecord to core_company
record.
var currentUser = gs.getUser();
gs.info(currentUser.getCompanyRecord());
gs.info(currentUser.getCompanyRecord().getTableName()); // core_company
getDomainID
Returns domain id or null.
var currentUser = gs.getUser();
gs.info(currentUser.getDomainID());