1. Search the ServiceNow CMDB for the class that represents the ADM “Desktop” device; for the example “Desktop” will be related to the “cmdb_ci_computer” class of ServiceNow, this class has different related classes (Referenced); will be taken into account for registration in the archive.

2. Look for classes that have a reference with “cmdb_ci_computer”, such as the Model ID, Manufacturer, and Managed By records:

3. Choose and search for the name of the referenced classes you want to include, for the example the following classes are included:
Tuition | Description |
---|---|
core_company | Provide information about the company that created the device or the company it’s a part of. |
sys_user | Provides information about the person or user who is responsible for the device. |
cmdb_model | Provides device model information, to relate devices like “Computer” ServiceNow uses the “cmdb_hardware_product_model” class that it inherits from “cmdb_model”, where the models of the devices will be added if they do not exist. |
sys_choice | Its value is obtained through a “select box”. |

4. On the property “classCMDB” from the configuration file, the classes you searched for earlier will be added.
Write the name of the classes on the property Name, as follows:
{
"classCMDB": [
{
"searchBy": [
],
"name": "cmdb_ci_computer",
"fields": [
]
},
{
"searchBy": [
],
"name": "sys_user",
"fields": [
]
},
{
"searchBy": [
],
"name": "cmdb_hardware_product_model",
"fields": [
]
},
{
"searchBy": [
],
"name": "sys_choice",
"fields": [
]
}
]
}
5. Choose the attributes of the CI class “cmdb_ci_computer” that you will relate to the attributes of the devices, as described in the “Attributes of CI classes (fields)”.
The attributes chosen for the class “cmdb_ci_computer” are:

os_version |
Name |
short_description |
disk_space |
dns_domain |
ip_address |
sys_created_on |
disk_space |
RAM |
cpu_count |
cpu_core_count |
object_id |
6. Add the name and type of the attributes in the “fields”, note the following properties:
{
"type": "",
"name": "",
"mappingType": "",
"mappingName": "",
"isRequired": false,
"classReference": ""
}
[
{
"type": "string",
"name": "os_version",
"mappingType": "",
"mappingName": "",
"isRequired": ,
"classReference": null
},
{
"type": "string",
"name": "name",
"mappingType": "",
"mappingName": "" ,
"isRequired": ,
"classReference": null
},
{
"type": "string",
"name": "short_description",
"mappingType": "",
"mappingName": "",
"isRequired": ,
"classReference": null
},
{
"type": "integer",
"name": "disk_space",
"mappingType": "",
"mappingName": "",
"isRequired": ,
"classReference": null
},
{
"type": "string",
"name": "dns_domain",
"mappingType": "",
"mappingName": "",
"isRequired": ,
"classReference": null
},
{
"type": "string",
"name": "ip_address",
"mappingType": "",
"mappingName": "",
"isRequired": ,
"classReference": null
},
{
"type": "string",
"name": "sys_created_on",
"mappingType": "",
"mappingName": "",
"isRequired": ,
"classReference": null
},
{
"type": "string",
"name": "sys_created_on",
"mappingType": "",
"mappingName": "",
"isRequired": ,
"classReference": null
},
{
"type": "integer",
"name": "ram",
"mappingType": "",
"mappingName": "",
"isRequired": ,
"classReference": null
},
{
"type": "integer",
"name": "disk_space",
"mappingType": "",
"mappingName": "",
"isRequired": ,
"classReference": null
},
{
"type": "integer",
"name": "cpu_count",
"mappingType": "",
"mappingName": "",
"isRequired": ,
"classReference": null
},
{
"type": "integer",
"name": "cpu_core_count",
"mappingType": "",
"mappingName": "",
"isRequired": ,
"classReference": null
},
{
"type": "string",
"name": "object_id",
"mappingType": "",
"mappingName": "",
"isRequired": ,
"classReference": null
}
]
7. On the property “isRequired” Type “true” or “false” if this property is required or not respectively, as follows:
[
{
"type": "string",
"name": "os_version",
"mappingType": "",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "name",
"mappingType": "",
"mappingName": "" ,
"isRequired": true,
"classReference": null
},
{
"type": "string",
"name": "short_description",
"mappingType": "",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "integer",
"name": "disk_space",
"mappingType": "",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "dns_domain",
"mappingType": "",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "ip_address",
"mappingType": "",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "sys_created_on",
"mappingType": "",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "sys_created_on",
"mappingType": "",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "integer",
"name": "ram",
"mappingType": "",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "integer",
"name": "disk_space",
"mappingType": "",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "integer",
"name": "cpu_count",
"mappingType": "",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "integer",
"name": "cpu_core_count",
"mappingType": "",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "object_id",
"mappingType": "",
"mappingName": "",
"isRequired": false,
"classReference": null
}
]
8. The property “mappingType” It is added according to the following information:
Types of fields
Fields | Description |
---|---|
Mapper | It represents the value obtained directly from the Aranda DEVICE MANAGEMEN ADM API, transforms it into the value type allowed by ServiceNow, and the value is added. |
SysChoice | It represents a value that refers to an entity where data is aggregated in lists corresponding to the CI class (for the example class cmdb_ci_computer), the name of this class is “sys_choice” which was included within the “classCMDB” property. |
Reference | The value entered creates a relationship between the CI and the CMDB class. |
The fields added above will obtain their value from the Aranda DEVICE MANAGEMEN ADM APIs, in the “mappingType” Enter the value of “Mapper” as shown below:
[
{
"type": "string",
"name": "os_version",
"mappingType": "Mapper",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "name",
"mappingType": "Mapper",
"mappingName": "" ,
"isRequired": true,
"classReference": null
},
{
"type": "string",
"name": "short_description",
"mappingType": "Mapper",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "integer",
"name": "disk_space",
"mappingType": "Mapper",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "dns_domain",
"mappingType": "Mapper",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "ip_address",
"mappingType": "Mapper",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "sys_created_on",
"mappingType": "Mapper",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "sys_created_on",
"mappingType": "Mapper",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "integer",
"unit": "MB",
"name": "ram",
"mappingType": "Mapper",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "integer",
"unit": "GB",
"name": "disk_space",
"mappingType": "Mapper",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "integer",
"name": "cpu_count",
"mappingType": "Mapper",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "integer",
"name": "cpu_core_count",
"mappingType": "Mapper",
"mappingName": "",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "object_id",
"mappingType": "Mapper",
"mappingName": "",
"isRequired": false,
"classReference": null
}
]
9. to property “mappingName” serves to form a relationship between the property “classCMDB” and “Mapper” or “dataReference” as appropriate See more.

Add the following values that relate to the “Mapper”, when more file configurations are completed:
- DeviceComputerReference
- DeviceComputerReferenceNetwork
The value of DeviceComputerReferenceNetwork is added in order to characterize network components, it does not influence the mapping.
The configuration file with the property of “mappingName” is configured as follows:
[
{
"type": "string",
"name": "os_version",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "name",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference" ,
"isRequired": true,
"classReference": null
},
{
"type": "string",
"name": "short_description",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference",
"isRequired": false,
"classReference": null
},
{
"type": "integer",
"name": "disk_space",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "dns_domain",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReferenceNetwork",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "ip_address",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReferenceNetwork",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "sys_created_on",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "sys_created_on",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference",
"isRequired": false,
"classReference": null
},
{
"type": "integer",
"unit": "MB",
"name": "ram",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference",
"isRequired": false,
"classReference": null
},
{
"type": "integer",
"unit": "GB",
"name": "disk_space",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference",
"isRequired": false,
"classReference": null
},
{
"type": "integer",
"name": "cpu_count",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference",
"isRequired": false,
"classReference": null
},
{
"type": "integer",
"name": "cpu_core_count",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "object_id",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference",
"isRequired": false,
"classReference": null
}
]
10. Register the attributes of the “cmdb_ci_computer” class with reference; as explained in the 3 The class “cmdb_ci_computer” has the following references:
- “core_company” (type: Reference).
- “sys_user” (type: Reference).
- “cmdb_model” => “cmdb_hardware_product_model” (type: Reference).
- “sys_choice” (type: SysChoice).

Attributes that are of type “Reference” will be registered in the “mappingType” with the value of “Reference”, which determines that this property relates the CI class to the classes already listed.
On the property “classReference” Put the name of the table that the attribute references, for example:
Attribute | Referenced Class |
---|---|
manufacturer | core_company |
Company | core_company |
model_id | cmdb_hardware_product_model |
assigned_to | sys_user |
Add this relationship with the properties listed in the 6
{
{
"type": "string",
"name": "manufacturer",
"mappingType": "Reference",
"mappingName": "",
"isRequired": false,
"classReference": "core_company"
},
{
"type": "string",
"name": "company",
"mappingType": "Reference",
"mappingName": "",
"isRequired": false,
"classReference": "core_company"
},
{
"type": "string",
"name": "model_id",
"mappingType": "Reference",
"mappingName": "",
"isRequired": false,
"classReference": "cmdb_hardware_product_model"
},
{
"type": "string",
"name": "assigned_to",
"mappingType": "Reference",
"mappingName": "",
"isRequired": false,
"classReference": "sys_user"
},
}
The attributes of type “SysChoice” are added as follows:
{
{
"type": "string",
"name": "os",
"mappingType": "SysChoice",
"mappingName": "",
"isRequired": false,
"classReference": "sys_choice"
},
{
"type": "string",
"name": "discovery_source",
"mappingType": "SysChoice",
"mappingName": "",
"isRequired": false,
"classReference": "sys_choice"
}
}
11.. Note that properties of the “cmdb_ci_computer” class referring to other classes that contain attributes of type “Mapper” will be used “mappingName” to refer to “mapper”; these classes will then use the reference to solve its value.
- CompanyManufactureReference
- CompanyOwnerReference
- HardwareProductModelReference
- UserDeviceReference
- OperatingSystemReferenced
- DiscoverySourceReferenced
NO the classes in the “classCMDB” property will be duplicated; The “mappingName” field establishes how the referenced class will get the values.
Enter the above values in the attributes as follows:
{
{
"type": "string",
"name": "manufacturer",
"mappingType": "Reference",
"mappingName": "CompanyManufactureReference",
"isRequired": false,
"classReference": "core_company"
},
{
"type": "string",
"name": "company",
"mappingType": "Reference",
"mappingName": "CompanyOwnerReference",
"isRequired": false,
"classReference": "core_company"
},
{
"type": "string",
"name": "model_id",
"mappingType": "Reference",
"mappingName": "HardwareProductModelReference",
"isRequired": false,
"classReference": "cmdb_hardware_product_model"
},
{
"type": "string",
"name": "assigned_to",
"mappingType": "Reference",
"mappingName": "UserDeviceReference",
"isRequired": false,
"classReference": "sys_user"
},
}
The attributes of type “SysChoice”:
{
{
"type": "string",
"name": "os",
"mappingType": "SysChoice",
"mappingName": "OperatingSystemReferenced",
"isRequired": false,
"classReference": "sys_choice"
},
{
"type": "string",
"name": "discovery_source",
"mappingType": "SysChoice",
"mappingName": "DiscoverySourceReferenced",
"isRequired": false,
"classReference": "sys_choice"
}
}
12. The objects we add in the “classCMDB” have the property “searchBy”, this property is used to find the device or data added to ServiceNow. For the example, the information between ADM and ServiceNow is contrasted using the device id provided by Aranda DEVICE MANAGEMENT ADM and mapped to the “object_id” of the “cmdb_ci_computer” class; This ID is unique and will serve to prevent duplication of devices, for this reason enter the “object_id” Inside the property searchBy of the configuration file, as presented below.
{
"classCMDB": [
{
"searchBy": [
"object_id"
],
"name": "cmdb_ci_computer",
"fields": [
]
}
]
}
As a result, the following JSON is obtained, with the attributes to be mapped:
{
"classCMDB": [
{
"searchBy": [
"object_id"
],
"name": "cmdb_ci_computer",
"fields": [
{
"type": "string",
"name": "os",
"mappingType": "SysChoice",
"mappingName": "OperatingSystemReferenced",
"isRequired": false,
"classReference": "sys_choice"
},
{
"type": "string",
"name": "discovery_source",
"mappingType": "SysChoice",
"mappingName": "DiscoverySourceReferenced",
"isRequired": false,
"classReference": "sys_choice"
},
{
"type": "string",
"name": "manufacturer",
"mappingType": "Reference",
"mappingName": "CompanyManufacturerReference",
"isRequired": false,
"classReference": "core_company"
},
{
"type": "string",
"name": "company",
"mappingType": "Reference",
"mappingName": "CompanyOwnerReference",
"isRequired": false,
"classReference": "core_company"
},
{
"type": "string",
"name": "model_id",
"mappingType": "Reference",
"mappingName": "HardwareProductModelReference",
"isRequired": false,
"classReference": "cmdb_hardware_product_model"
},
{
"type": "string",
"name": "assigned_to",
"mappingType": "Reference",
"mappingName": "UserDeviceReference",
"isRequired": false,
"classReference": "sys_user"
},
{
"type": "string",
"name": "os_version",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "name",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference",
"isRequired": true,
"classReference": null
},
{
"type": "string",
"name": "short_description",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference",
"isRequired": false,
"classReference": null
},
{
"type": "integer",
"name": "disk_space",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "dns_domain",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReferenceNetwork",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "ip_address",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReferenceNetwork",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "sys_created_on",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "sys_created_on",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference",
"isRequired": false,
"classReference": null
},
{
"type": "integer",
"unit": "MB",
"name": "ram",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference",
"isRequired": false,
"classReference": null
},
{
"type": "integer",
"unit": "GB",
"name": "disk_space",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference",
"isRequired": false,
"classReference": null
},
{
"type": "integer",
"name": "cpu_count",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference",
"isRequired": false,
"classReference": null
},
{
"type": "integer",
"name": "cpu_core_count",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference",
"isRequired": false,
"classReference": null
},
{
"type": "string",
"name": "object_id",
"mappingType": "Mapper",
"mappingName": "DeviceComputerReference",
"isRequired": false,
"classReference": null
}
]
},
{
"searchBy": [
],
"name": "sys_user",
"fields": [
]
},
{
"searchBy": [
],
"name": "cmdb_hardware_product_model",
"fields": [
]
},
{
"searchBy": [
],
"name": "sys_choice",
"fields": [
]
}
]
}
For classes that are not registered in this section we place the following links, which you can consult; The process is the same as that carried out with the cmdb_ci_computer.
ServiceNow Classes
- View Class sys_user ↪
- View Class core_company ↪
- View Class sys_choice ↪
- View Class cmdb_hardware_product_model ↪
- View Class cmdb_model_category ↪
Continue: Relationship between classCMDB and mapper (step 3) ↪