I really dislike when ServiceNow doesn't share the functions they make
available and use in their code in front of us. See this thread on the
community. Anyways,
there are efforts to keep track of these things. I know I've contributed
to this page on
serviceportal.io.
s You can get the list of all the methods available by running this in
Xplore;
var sp = new GlideSPScriptable();
sp;
canReadRecord
Method | Notes |
---|---|
canReadRecord(GlideRecord) | |
canReadRecord(string table, string sys_id) |
// Returns true if the user can read the specified GlideRecord.
// source: SQANDA Create Question[sqanda-create-question] line 40:
if (!$sp.canReadRecord(questionGR)){
}
// source: SC Popular Items[cbcacf13cb21020000f8d856634c9ca0] line 14:
$sp.canReadRecord(
"sc_cat_item",
count.cat_item.sys_id.getDisplayValue()
);
getCatalogItem
Method | Notes |
---|---|
getCatalogItem(string sys_id) | |
getCatalogItem(string sys_id, boolean) |
// Returns a model and view model for a sc_cat_item or
// sc_cat_item_guide.
// source: SC Catalog Item[widget-sc-cat-item] line 50
data.sc_cat_item = $sp.getCatalogItem(data.sys_id, true);
// source: sp-variable-editor[sp-variable-editor] line 25
data.sc_cat_item = $sp.getCatalogItem(
gr.cat_item,
!!options.isOrdering,
targetTable
);
getKBCategoryArticleSummaries
getKBCategoryArticleSummaries(sys_id, number,
maxChars)
Returns Knowledge Base article summaries in the specified category and
its subcategories.
// KB Categories - KBv3[ee307070d7201200a9addd173e24d4da]
/* Line 17: */ if (kbCount < 500) { // if more than 500 articles, don't iterate to get viewable counts
/* Line 18: */ var arts = $sp.getKBCategoryArticleSummaries(cats.getUniqueValue(), 0, 0);
/* Line 19: */ articleCount = arts.length;
// KB Category Page[fb5d068cd7610200a9ad1e173e24d400]
/* Line 13: */ data.categoryDisplay = kb_cat.getDisplayValue();
/* Line 14: */ data.items = $sp.getKBCategoryArticleSummaries(data.category, 0, 250);
/* Line 15: */}
getDisplayValue
// Returns a display value from a field on a record in this order:
// 1. The widget's sp_instance* record
// 2.
// source: SC Catalog Item[widget-sc-cat-item] line 4
data.sc_catalog_page = $sp.getDisplayValue("sc_catalog_page");
getField
getField(GlideRecord, string
field)
// Returns {display_value, label, type, value} for a given field
// on a GlideRecord.
// source: Approval Info[33442352cb30020000f8d856634c9c3f] line 21
fields.push($sp.getField(
gr,
'sys_updated_on'
));
getFields
getFields(GlideRecord, string
fields)
// Like getField Checks the specified field names, and returns
// a comma seperated list of valid names.
// source: Approval Info[33442352cb30020000f8d856634c9c3f] line 18
var fields = $sp.getFields(
gr,
'state,sys_created_on'
);
getFieldsObject
getFieldsObject(GlideRecord, string
fields)
// Checks the specified field names, and returns an object
// containing the valid names.
// source: Approval Record[525a2752cb30020000f8d856634c9cfd] line 15
var t = {};
t = $sp.getFieldsObject(
task,
'number,short_description,opened_by,requested_by,start_date'
);
getForm
Method | Notes |
---|---|
getForm(string table, string sys_id) | |
getForm(string table, string sys_id, string query, string view) |
// Returns the form.
// If no view is passed, returns the form as it appears on view 'sp'
// source: User Profile[user-profile] line 22
$sp.getForm("live_profile", data.liveProfileID);
// source: Form[widget-form] line 63
data.f = $sp.getForm(data.table, data.sys_id, data.query, data.view);
getListColumns
getListColumns(string table, string
view)
// Returns a list of the specified table's columns in the specified
// view
// source: Data Table[widget-data-table] line 37
data.fields = $sp.getListColumns(data.table, data.view);
getMenuHREF
// Returns the (?id=) portion of the URL based on the sp_menu type.
// source: Icon Link[3caa67afcb13020000f8d856634c9c2e] line 3
data.href = $sp.getMenuHREF(gr);
getMenuItems
// Returns the menu items for the specified instance.
// source Header Menu[5ef595c1cb12020000f8d856634c9c6e] line 8
data.menu.items = $sp.getMenuItems(menu_id);
getParameter
// Returns the value of a given key from the query string or post body.
// source: Form[widget-form] line 37
data.query = $sp.getParameter("query") || options.query;
getPortalRecord
// Returns the portal's GlideRecord.
// source: Subscribed Questions[sqanda-subscribed-questions] line 2
data.knowledgeBase = $sp.getPortalRecord().getValue("sqanda_knowledge_base");
getRecord
Method | Notes |
---|---|
getRecord() | |
getRecord(string table, string sys_id) | Not Documented, only works in global scope. |
// Returns the GlideRecord for the current sp_instance\*.
// Returns null if the widget is embedded by another widget.
// source: Request Fields[96cf39f3d7230200a9addd173e24d412] line 2
var gr = $sp.getRecord();
// source: Form[widget-form] line 54
var rec = $sp.getRecord(data.table, data.sys_id);
Note: Feedback submitted on 04/24/2018 page:
https://developer.servicenow.com/app.do#!/api_doc?v=jakarta&id=r_GSPS-getRecord
What are you trying to do now? Look up information
Were you successful? no
Tell us more
$sp.getRecord is missing information.
getRecord(string table, string sys_id) as depicted in OOB widget `widget-form` line54
var rec = $sp.getRecord(data.table, data.sys_id);
This however doesnt work in scoped apps.
getRecordDisplayValues
getRecordDisplayValues(object data, GlideRecord, string
fields)
// Copies display values for the specified field names
// from a GlideRecord into the data parameter.
// source: Catalog Content[sc-cat-content] line 26
$sp.getRecordDisplayValues(c, gr, 'picture');
getRecordElements
getRecordElements(object data, GlideRecord, string
fields)
// Copies the value and display value for the specified
// field names from a GlideRecord into the data parameter.
// source: Data Table[widget-data-table] line 128
$sp.getRecordElements(record, gr, data.fields);
getRecordValues
getRecordValues(object data, GlideRecord, string
fields)
// Copies values for the specified field names from a
// GlideRecord into the data parameter.
// source: KB View 2[c254be50d7201200a9addd173e24d410] line 6
$sp.getRecordValues(data, gr, 'title,description');
getStream
getStream(string table, string
sys_id)
// Get the activity stream for a record.
// source: Ticket Conversations[widget-ticket-conversation] line 63
data.stream = $sp.getStream(data.table, data.sys_id);
Note: This only returns the quantity of entries specified by the
property, glide.service_portal.stream_entry_limit
. Default is 100.
getUserInitials
// Returns the user's initials as a string.
getValue
// Like getDisplayValue except that it returns the value instead of
// the display value.
// source: SC Popular Items[cbcacf13cb21020000f8d856634c9ca0] line 1
data.sc_catalog = $sp.getValue('sc_catalogs') || $sp.getValue('sc_catalog');
getValues
Method | notes |
---|---|
getValues(object data, string fields) | |
getValues(string sys_id, object options) | |
getValues(object data) | Not Documented |
//source: KB Topic Articles[35c51f56d7f33100a9ad1e173e24d4b1] line 2
$sp.getValues(data, "color,glyph,kb_topic,title");
//source: Icon Menu List[88979930cb01020000f8d856634c9caa] line 2
$sp.getValues(data);
getWidget
getWidget(string sys_id/widget-id, object
options)
// Returns a widget model for embedding a widget inside another widget.
// source: User Profile[user-profile] line 75
data.teamWidget = $sp.getWidget(
'sp-my-team',
{glyph: 'user', color: 'primary'}
);
mapUrlToSPUrl
/* Line 98: */ if (redirectURL && redirectURL != "true") {
/* Line 99: */ var spUrl = new GlideSPScriptable().mapUrlToSPUrl(redirectURL);
/* Line 100: */ returnUrl = spUrl ? this.portal + "?" + spUrl : redirectURL;
isServicePortalURL
/* Line 65: */ var nt = session.getProperty("nav_to");
/* Line 66: */ var isServicePortalURL = new GlideSPScriptable().isServicePortalURL(nt);
/* Line 67: */ var redirectURL = session.getProperty("login_redirect");
/* Line 68: */
/* Line 69: */ if (user.hasRoles() && !redirectURL && !isServicePortalURL)
/* Line 70: */ return;
translateTemplate
/* Line 27: */ if (searchGroupTemplatesGR.advanced_typeahead_config)
/* Line 28: */ data.typeaheadTemplates["sp-typeahead-" + searchGroupTemplatesGR.getValue("id") + ".html"] = $sp.translateTemplate(searchGroupTemplatesGR.getValue("typeahead_template"));
/* Line 29: */ }
stripHTML
/* Line 21: */ if (!!instance.description)
/* Line 22: */ instance.description = $sp.stripHTML(instance.description);
/* Line 23: */ });
getRelatedList
/* Line 1:*/ data.slides = $sp.getRelatedList('sp_carousel_slide','carousel');
getGuide
/*Line 152:*/ data.showPrices = $sp.showCatalogPrices();
/*Line 153:*/ data.sc_cat_item = $sp.getGuide(data.sys_id, true, false);
/*Line 154:*/ if (data.sc_cat_item.category) {
getKBRecord
// Returns the portal's KB record where the workflow state is
// published.
// source: KB Most Viewed[7d903b52cb30020000f8d856634c9ce3] line 4
var z = $sp.getKBRecord();
getKBCount
// Returns the number of Knowledge Base articles.
// source: KB Categories - KBv3[ee307070d7201200a9addd173e24d4da] line 16
var kbCount = $sp.getKBCount(data.kb);
getKBCategoryArticles
getKBCategoryArticles(string
sys_id)
// Returns KB articles in the specified category and its
// subcategories.Pass 'limit' to limit the number of
// articles returned.
// source: KB Categories[122ac7f0d7101200a9addd173e24d411] line 9
var articles = $sp.getKBCategoryArticles(t.getUniqueValue());
getKBTopicArticles
getKBTopicArticles(string
topic)
// Returns array
// source: KB Topic Articles[35c51f56d7f33100a9ad1e173e24d4b1] line 3
data.items = $sp.getKBTopicArticles(data.kb_topic);
getKBTopCategoryID
getKBTopCategoryID(string
sys_id)
// Returns the top category in the hierarchy containing the
// specified category.
// source: KB View 2[c254be50d7201200a9addd173e24d410] line 22
n.topCat = $sp.getKBTopCategoryID(n.kb_category);
getKBSiblingCategories
getKBSiblingCategories(string
sys_id)
// Returns KB categories with same parent as the specified
// category.
// source: KB Categories - KBv3[ee307070d7201200a9addd173e24d4da] line 6
cats = $sp.getKBSiblingCategories(data.catParam);
showCatalogPrices
// Returns- Is an object|
// source: SC Catalog Item[widget-sc-cat-item] line 20
data.showPrices = $sp.showCatalogPrices();
saveVariables
// Retuns ?
// source: sp-variable-editor[sp-variable-editor] line 17
$sp.saveVariables(
input.table,
input.sys_id,
vars
);
buildThemeVariableModel
buildThemeVariableModel(string sys_id,
array)
// Retuns ?
// source: Portal config[widget-portal-config] line 241
var variableValues = $sp.buildThemeVariableModel(portalId, keys.join(","));
getVariablesArray
// Returns the tables variables as an object.
// source: Request Fields[96cf39f3d7230200a9addd173e24d412] line 22
data.variables = $sp.getVariablesArray();
getWidgetFromInstance
// Returns a widget from the specified widget instance.
// source: KB Search[9b6187d0d7201200a9addd173e24d4dd] line 1
data.typeahead = $sp.getWidgetFromInstance('typeahead_search_header');
getRecordVariablesArray
getRecordVariablesArray(GlideRecord)
// Returns the records variables.
// source: Approvals[f37aa302cb70020000f8d856634c9cfc] line 86
item.variables = $sp.getRecordVariablesArray(itemsGR);
getFilterBreadcrumbs
getFilterBreadcrumbs(string table, string, query,
null)
// Returns an array of objects where each object contains
// the breadcrumb label, value, and flags for if fixed and
// if removed
// source: Filter Breadcrumbs[widget-filter-breadcrumbs] line 4
data.breadcrumbs = $sp.getFilterBreadcrumbs(table, query, null);
logStat
Method | Notes |
---|---|
logStat(string param 1, string table, string sys_id, string param 2) | |
logStat(string param 1, string table, string sys_id) |
// Create a new entry in the `sp_log` table.
// Record has a table name, a record sys_id from that name,
// and some type and optional comments.
// Handy for doing things like logging searches or visits
// to pages, etc.
// source: SC Catalog Item[widget-sc-cat-item] line 59
$sp.logStat(
'Catalog View',
data.sc_cat_item.sys_class_name,
data.sys_id,
data.sc_cat_item.name
);
// source: SC Order Guide[widget-sc-order-guide] line 38
$sp.logStat(
'Catalog Order Guide View',
data.sc_cat_item.sys_class_name,
data.sys_id
);
getInstanceRecord
// Returns the widget instances GlideRecord.
// source: Icon Link[3caa67afcb13020000f8d856634c9c2e] line 2
var gr = $sp.getInstanceRecord();
log
Method | Notes |
---|---|
log(string) | |
log(object) |
// Sends the specified message to the log console.
// source: Calculator[calc] line 7
$sp.log("calc with input as follows... ");
// source: Preview Widget[core-preview] line 21
$sp.log(e);
saveRecord
saveRecord(string table, string sys_id, array fields)
// Saves or updates the current record.
// source: Form[widget-form] line 25
result = $sp.saveRecord(
input.table,
input.sys_id,
input._fields
);
logSearch
logSearch()
// Adds a record to the Service Portal Statistics logs.
// no examples in a new instance
getSCRecord
getSCRecord()
// Returns sc_cat_item record for the portal's catalog with
// sys_class_name != sc_cat_item_wizard and active = true
// in the query. GlideRecord returned has not yet triggered
// the query.
// no examples in a new instance
getStreamEntries
getStreamEntries()
// Get a record's actvivity stream as a JSON formatted list.
// Typically for a task record