Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

GlideTableHierarchy- Scoped

The GlideTableHierarchy API provides methods for handling information about table relationships.

Parent Topic:Server API reference

GlideTableHierarchy - GlideTableHierarchy(String tableName)

Instantiates a GlideTableHierarchy object.

NameTypeDescription
tableNameStringThe name of the table.
var table = new GlideTableHierarchy("incident"); 
gs.info(table.getTables());

Output:

incident,task

GlideTableHierarchy - getAllExtensions()

Returns an array of strings containing all tables that extend the current table and includes the current table.

NameTypeDescription
None  
TypeDescription
ArrayAn array of strings containing the tables in the hierarchy that includes the current table.
var table = new GlideTableHierarchy("task"); 
gs.info(table.getAllExtensions());

Output: Line breaks added for clarity.

task,sc_task,problem_task,change_phase,sc_req_item,kb_submission,
release_phase,problem,ticket,sm_task,hr_task,change_task,change_request,
change_request_imac,incident,release_task,vtb_task,sm_order,hr_case,
sysapproval_group,sc_request

GlideTableHierarchy - getBase()

Returns the parent class.

NameTypeDescription
None  
TypeDescription
StringThe parent class.
var table = new GlideTableHierarchy("cmdb_ci_server"); 
gs.info(table.getBase());

Output:

cmdb_ci_computer

GlideTableHierarchy - getHierarchy()

Returns an array of strings containing all classes in the hierarchy of the current table.

NameTypeDescription
none  
TypeDescription
ArrayAn array of strings of the classes in the hierarchy.
var table = new GlideTableHierarchy("incident"); 
gs.info(table.getHierarchy());

Output:

incident,task

GlideTableHierarchy - getName()

Returns the table's name.

NameTypeDescription
None  
TypeDescription
StringThe table's name.
var table = new GlideTableHierarchy("incident"); 
gs.info(table.getName());

Output:

incident

GlideTableHierarchy - getRoot()

Returns the top level class in the hierarchy.

NameTypeDescription
None  
TypeDescription
StringName of the root class.
var table = new GlideTableHierarchy("cmdb_ci_server"); 
gs.info(table.getRoot());

Output:

cmdb

GlideTableHierarchy - getTables()

Returns an array of strings of the table names in the hierarchy.

NameTypeDescription
None  
TypeDescription
ArrayAn array of strings containing the names of tables in the hierarchy.
var table = new GlideTableHierarchy("incident"); 
gs.info(table.getTables());

Output:

incident,task

GlideTableHierarchy - getTableExtensions()

Returns an array of strings containing all tables that extend the current table.

NameTypeDescription
None  
TypeDescription
ArrayAn array of strings containing the tables that extend the current table.
var table = new GlideTableHierarchy("task"); 
gs.info(table.getTableExtensions());

Output: Line breaks added for clarity

sc_task,problem_task,change_phase,sc_req_item,kb_submission,release_phase,problem,
ticket,sm_task,hr_task,change_task,change_request,change_request_imac,incident,
release_task,vtb_task,sm_order,hr_case,sysapproval_group,sc_request

GlideTableHierarchy - isBaseClass()

Returns true if this is a base class.

NameTypeDescription
None  
TypeDescription
BooleanTrue if the current table has no parent and has extensions.
var table = new GlideTableHierarchy("incident"); 
gs.info(table.isBaseClass());

Output:

false

GlideTableHierarchy - isSoloClass()

Returns true if this table is not in a hierarchy.

NameTypeDescription
None  
TypeDescription
BooleanTrue if the current table has no parent and no extensions.
var table = new GlideTableHierarchy("sys_user"); 
gs.info(table.isSoloClass());

Output:

true

GlideTableHierarchy - hasExtensions()

Returns true of this class has been extended.

NameTypeDescription
None  
TypeDescription
BooleanTrue if the current table has extensions.
var table = new GlideTableHierarchy("incident"); 
gs.info(table.hasExtensions());

Output:

false