Table of Contents
Introduction
CMDB tables will generally be available to anyone in ITS. ServiceNow's built-in web services enables the derivation of data service endpoints which, combined with knowledge of the data model, lets people and applications consume CMDB data for other purposes. This document defines:
- a set instructions for constructing URLs to identify the CMDB data and metadata exposed by Yale's ServiceNow instances
- a list of query operators for data filtering
- an explanation of the schema so users/agents can grok what they're pulling
- a list examples containing ready-made, commonly requested URLs
Obtaining a Service Account
If you want to do non-interactive batch work, you must obtain a service account. We generally hand these out by department or application. Request a service account by clicking here. Please be sure to:
- mention the department or application name
- route the request to the
INF SN App Support
group.
URL Building
ServiceNow's documentation for this is their wiki: https://wiki.servicenow.com/index.php?title=Navigating_by_URL. Yale specifics are below.
Server
URL construction begins with the instance names. Below are the instances by environment; generally, you will want production, pre-production, or testing for most purposes.
Environment |
Instance Name |
---|---|
Production |
yale.service-now.com |
Pre-Production |
yalepreproduction.service-now.com |
Testing |
yaletest.service-now.com |
Development |
yaledevelopment.service-now.com |
Training |
yaletraining.service-now.com |
Tables
The next component is the table. The table name is used in API calls - note that table names in the schema don't always match the object's display name in the ServiceNow UI.
Display Name |
Table Name |
---|---|
Categories¹ |
|
IT Business Services |
|
IT Provider Services |
|
Applications |
|
Modules |
|
Relationships |
|
¹ technically, these is not a CMDB table as categories are not CIs in ServiceNow. Use of the available "CMDB" view is recommended for this table.
Query Construction
UI Constuction
- go to the application navigator (Left Pane, Configuration application)
- select the desired class (IT Provider Services, Applications, Modules, etc)
- when the list view appears, you can adjust the filter as desired (see the arrow at the left of the breadcrumb)
- when you have the correct query, right-click on the last term of the breadcrumb and click "Copy Query"
- urlencode this query (optionally, if you use the same steps and click "Copy URL" you will get the encoded query)
External Construction
Sometimes it's quicker to generate a long query with cut-and-paste or a script, especially if there are a lot of similar terms. In this case, you can use the primitives as documented by ServiceNow: Navigating by URL: Elements. Common elements:
sysparm_view=
- followed by a view name. Views are used at the sysadmin's discretion for filtering out columns or presenting joins.sysparm_query=
- followed by a query spec.sys_id=
- followed by a 32-byte GUID, used to specify a list of one or more individual records. Used for manually cross-referencing table references.
Data Formats
Depending on your access rights, you can specify a data format at the end by appending this sequence:
%26▉▉▉ or &▉▉▉: specifies a file format, ▉▉▉ possible values are CSV, XML, PDF, or UNL (Unload).
Otherwise, you'll see the list view in the ServiceNow UI.
URL Examples
Combine the querie with the desired instance name, along with the the https scheme, to get a URL.
Object |
Example URL |
---|---|
Categories (Test) |
https://yaletest.service-now.com/sc_category_list.do?&sysparm_view=CMDB&CSV |
IT Business Services (Test) |
https://yaletest.service-now.com/u_it_business_service_list.do?&CSV |
IT Provider Services (Test) |
https://yaletest.service-now.com/u_it_provider_service_list.do?&CSV |
Applications (Test) |