The GlideUser API provides methods to access information about the current user and current user roles.

Using the GlideUser API avoids the need to use the slower GlideRecord queries to get user information.

Scoped GlideUser - getCompanyID()

Returns the current user's company sys_id.

Table 1. Parameters
Name Type Description
None
Table 2. Returns
Type Description
String Company sys_id.

Example

var currentUser = gs.getUser(); 
gs.info(currentUser.getCompanyID());

Scoped GlideUser - getDisplayName()

Returns the current user's display name.

Table 3. Parameters
Name Type Description
None
Table 4. Returns
Type Description
String User's display name

Example

var currentUser = gs.getUser(); 
gs.info(currentUser.getDisplayName());

Scoped GlideUser - getEmail()

Returns the user's email address.

Table 5. Parameters
Name Type Description
None
Table 6. Returns
Type Description
String User's email address.

Example

var currentUser = gs.getUser(); 
gs.info(currentUser.getEmail());

Scoped GlideUser - getFirstName()

Returns the user's first name.

Table 7. Parameters
Name Type Description
None
Table 8. Returns
Type Description
String User's first name.

Example

var currentUser = gs.getUser(); 
gs.info(currentUser.getFirstName());

Scoped GlideUser - getID()

Gets the sys_id of the current user.

Table 9. Parameters
Name Type Description
None
Table 10. Returns
Type Description
String User's sys_id.

Example

var currentUser = gs.getUser(); 
gs.info(currentUser.getID());

Scoped GlideUser - getLastName()

Returns the user's last name.

Table 11. Parameters
Name Type Description
None
Table 12. Returns
Type Description
String User's last name.

Example

var currentUser = gs.getUser(); 
gs.info(currentUser.getLastName());

Scoped GlideUser - getName()

Returns the user ID, or login name, of the current user.

Table 13. Parameters
Name Type Description
None
Table 14. Returns
Type Description
String User ID or login name.

Example

var currentUser = gs.getUser(); 
gs.info(currentUser.getName());

Scoped GlideUser - getPreference(String name)

Gets the specified user preference value for the current user.

Table 15. Parameters
Name Type Description
name String Name of the preference.
Table 16. Returns
Type Description
String Preference value.

Example

var currentUser = gs.getUser(); 
currentUser.savePreference(­'myPref','red'); 
gs.info(currentUser.getPreference(­'myPref'));

Scoped GlideUser - getRoles()

Returns a list of roles that includes explicitly granted roles, inherited roles, and roles acquired by group membership.

Table 17. Parameters
Name Type Description
None
Table 18. Returns
Type Description
Array List of all roles available to the user

Example

var currentUser = gs.getUser(); 
gs.info(currentUser.getRoles());

Scoped GlideUser - getTimeZoneLabel()

Returns the current user's time zone label in the current user's preferred language.

For more information about setting a user's preferred language, see User specific language.

Table 19. Parameters
Name Type Description
None
Table 20. Returns
Type Description
String The current user's time zone label.

Example

This example shows how to return the current user's time zone label in their preferred language.

gs.info(gs.getUser().getTimeZoneLabel());

Output:

Europe/Dublin

Scoped GlideUser - getTimeZoneLabelLang(String language)

Returns the current user's time zone label in the specified language.

Table 21. Parameters
Name Type Description
language String Language to use for the time zone label. Located in the ID column of the Language [sys_language] table.

If a valid language isn't provided, the time zone label is returned in English.

Table 22. Returns
Type Description
String The current user's time zone label.

Example

This example shows how to return the current user's time zone label in a specified language.

gs.info(gs.getUser().getTimeZoneLabelLang("es")); //Spanish
gs.info(gs.getUser().getTimeZoneLabelLang("ja")); //Japanese
gs.info(gs.getUser().getTimeZoneLabelLang("jksjsjks")); //invalid

Output:

Europa/Dublín
ヨーロッパ/ダブリン
Europe/Dublin

Scoped GlideUser - 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.

Table 23. Parameters
Name Type Description
None
Table 24. Returns
Type Description
Array List of roles explicitly assigned to the user.

Example

var currentUser = gs.getUser(); 
gs.info(currentUser.getUserRoles());

Scoped GlideUser - hasRole(String role)

Determines if the current user has the specified role.

Table 25. Parameters
Name Type Description
role String Role to check.
Table 26. Returns
Type Description
Boolean Flag that indicates whether the user has the specified role.
Possible values:
  • true: User has the specified role.
  • false: User doesn't have the specified role.

Example

var currentUser = gs.getUser(); 
gs.info(currentUser.hasRole('admin'));

Scoped GlideUser - isMemberOf(String group)

Determines if the current user is a member of the specified group.

Table 27. Parameters
Name Type Description
group String Sys_id or name of the group to check.
Table 28. Returns
Type Description
Boolean Flag that indicates whether the user is a member of the specified group.
Possible values:
  • true: User is a member of the group.
  • false: User isn't a member of the group.

Example

The following example checks if the current user is a member of the Capacity Mgmt group.

var currentUser = gs.getUser(); 
gs.info(currentUser.isMemberOf('Capacity Mgmt'));

Output:

false

Scoped GlideUser - savePreference(String name, String value)

Saves a user preference value to the database.

Table 29. Parameters
Name Type Description
name String Preference to save.
value String Preference value.
Table 30. Returns
Type Description
None

Example

var currentUser = gs.getUser(); 
currentUser.savePreference('myPref','red'); 
gs.info(currentUser.getPreference('myPref'));