ServiceNow CMDB Classes
The ServiceNow CMDB contains system classes [CI Class Manager], which store data about configuration items (CIs). Each type of IQ (IQ class) has different attributes. That represent some property of the registered device.

Where:
- CI Class Attributes
- Name of the CI class corresponds to the TableName property of the previous image
Configuration
{
"classCMDB": [
{
"searchBy": [
""
],
"name": "",
"alias":"",
"fields": [
{
"unit":"",
"type": "",
"name": "",
"mappingType": "",
"mappingName": "",
"isRequired": false,
"classReference": ""
}
]
}
],
"mapper": [
],
"dataReference": [
],
"classMapper": [
],
"classDevice": [
]
}
To perform the integration, the following properties are registered in the JSON:
Properties | Description |
---|---|
Fields | List of the attributes or properties of the registered class. see Attributes of CI classes |
Name | Class name in ServiceNow. |
Alias | Within the ServiceNow CMDB, a CI class can be used to map different CIs, such as the “cmdb_ci_disk” class, which is used to map hard disks, RAM, etc. The Alias is a pseudonym given to the CI class, in order to have a 1:1 relationship between ADM devices and the ServiceNow CMDB. |
SearchBy | Represents the fields that can be searched in the ServiceNow class |
Attributes of CI Classes (fields)
The attributes of the CMDB class are represented in the “fields” property of “ClassCMDB”, these represent the minimum configuration of the attributes required to register data in ServiceNow.
The properties for configuring the attributes of the CI class are:
{
"classCMDB": [
{
"fields": [
{
"unit":"",
"type": "",
"name": "",
"mappingType": "",
"mappingName": "",
"isRequired": false,
"classReference": ""
}
]
}
]
}
Type
Represents the type of value that this field accepts in the CMDB, the types can be:
- integer.
- decimal.
- Boolean.
- date.
- Array.
- String.
Name
Represents the name of the field in the ServiceNow CMDB.
Unit:
It represents the type of unit with which the attribute of the CI class is represented, it is only valid for the type “integer” or “decimal”. The type of unit can be:
- B,
- KB
- MB
- GB
- TB
- PB
- YB
Como se puede ver en las propiedades RAM y Disk Space de la siguiente imagen:

MappingType
ServiceNow class attributes can contain values that reference another entity (class), or their value can be entered by the user. Attributes that relate to other entities are designated by ServiceNow as “reference” or their value can be obtained from a “select box” as explained below:
Sys_Choice and Reference Attributes: ServiceNow can relate its classes by using two types of attributes, type “reference” and “sys_choice”. The reference type attributes can be found as shown in the image in the type column:

While the value can be selected from a “select box”, is working with type attributes “sys_choice”, the contained values are added to the “sys_choice” and are related to the CI class

For the integration between Aranda DEVICE MANAGEMENT ADM and ServiceNow, the “mappingType” field is assigned which takes into account the different ways in which the value of the attribute will be obtained. This field can use the following values:
Values | Description |
---|---|
Mapper | The value of the attribute is obtained directly from the device, a 1:1 relationship is formed between the attribute name and the device property name. |
Date | The value of the attribute is entered by the user as a standard value for all devices that integrate with ServiceNow, the value will be recorded in the DataReference see Reference Data. |
SysChoice | This value is only valid for attributes with a “select box”; if it does not exist in the ServiceNow CMDB, it registers it. |
Reference | This value is only valid for attributes of type “Reference”; if it does not exist in the ServiceNow CMDB, it registers it |
None | It works just like a SysChoice or a Reference, except that if it doesn’t exist the value won’t be added to the ServiceNow CMDB. |
MappingName: Represents the name towards the reference of ‘mapper’ or ‘dataReference’.

IsRequired: Represents if this attribute is required in the ServiceNow CMDB, if the attribute is required and the attribute is not found either by mapping it to the device or by assigning it by the user in ‘dataReference’ it will not be created and the value will be ‘null’
ClassReference: Represents the name of the class being referenced when the ‘MappingType’ is ‘Reference’.
Hierarchical relationship between ServiceNow classes
The relationship between ServiceNow classes in a hierarchical or component relationship, as shown in the following image:

It is done by means of a property that refers to the parent or the component that contains it, in the case of memory modules they are related by the “cmdb_ci” that reference to the “cmdb_ci”:

In the configuration file, you need to write to the “classReference” the parent class to which the component relates. For the example of the memory module, the memory is related to the “cmdb_ci_computer” that inherits from the “cmdb_ci” avoiding writing the full definition of the class “cmdb_ci”.
For the example of the “cmdb_ci” The field would be as follows:
{
"classCMDB": [
{
"fields": [
{
"type": "string",
"name": "cmdb_ci",
"mappingType": "Reference",
"mappingName": "Reference-Memory",
"isRequired": true,
"classReference": "cmdb_ci_computer"
}
]
}
]
}
View ServiceNow ↪ Configuration