Relación entre los campos de la CMDB de Aranda con los campos de las clases de la CMDB de ServiceNow
Para realizar la integración es necesario relacionar los campos del CI de Aranda con los campos de las clases de la CMDB de ServiceNow por medio de la sección “ci” del archivo de configuración.
ejemplo de estructura del json
{
"ci": [
{
"reference": "",
"definition": {
"name": {
"type": "",
"mappingDirection": "",
"searchBy": ""
"key": ""
},
"description": {
"type": "",
"mappingDirection": "",
"searchBy": ""
"key": ""
},
"assetTag": {
"type": "",
"mappingDirection": "",
"searchBy": ""
"key": ""
},
"serial": {
"type": "",
"mappingDirection": "",
"searchBy": ""
"key": ""
},
"rfid": {
"type": "",
"mappingDirection": "",
"searchBy": ""
"key": ""
},
"barCode": {
"type": "",
"mappingDirection": "",
"searchBy": ""
"key": ""
},
"licenseNumber": {
"type": "",
"mappingDirection": "",
"searchBy": ""
"key": ""
},
"price": {
"type": "",
"mappingDirection": "",
"searchBy": ""
"key": ""
},
"installationDate": {
"type": "",
"mappingDirection": "",
"searchBy": ""
"key": ""
},
"reponsibleDate": {
"type": "",
"mappingDirection": "",
"searchBy": ""
"key": ""
},
"size": {
"type": "",
"mappingDirection": "",
"searchBy": ""
"key": ""
},
"measureUnit": {
"type": "",
"mappingDirection": "",
"key": "",
"searchBy": ""
},
"brand": {
"type": "",
"defaultValue": {
"id": 0,
"value": ""
},
"onError": [
{
"action": "",
"message": ""
}
],
"mappingDirection": "",
"key": "",
"searchBy": ""
},
"model": {
"type": "",
"defaultValue": {
"id": 0,
"value": ""
},
"onError": [
{
"action": "",
"message": ""
}
],
"mappingDirection": "",
"key": "",
"searchBy": ""
},
"responsible": {
"type": "",
"defaultValue": {
"id": 0,
"value": ""
},
"onError": [
{
"action": "",
"message": ""
}
],
"mappingDirection": "",
"key": "",
"searchBy": ""
},
"provider": {
"type": "",
"defaultValue": {
"id": 0,
"value": ""
},
"onError": [
{
"action": "",
"message": ""
}
],
"mappingDirection": "",
"key": "",
"searchBy": ""
},
"manufacturer": {
"type": "",
"defaultValue": {
"id": 0,
"value": ""
},
"onError": [
{
"action": "",
"message": ""
}
],
"mappingDirection": "",
"key": "",
"searchBy": ""
},
"costCenter": {
"type": "",
"defaultValue": {
"id": 0,
"value": ""
},
"onError": [
{
"action": "",
"message": ""
}
],
"mappingDirection": "",
"key": "",
"searchBy": ""
}
}
}
]
}
Propiedades :
Propiedades | Descripción |
---|---|
reference | Nombre de la clase o alias a la que se hace referencia en ServiceNow |
definition | Permite relacionar los campos de los CIs en las CMDBs de Aranda con los campos del CI en la CMDB de ServiceNow |
definition
Para realizar la integración es necesario relacionar la información de aranda ASMS y ServiceNow por medio de la sección “definition” del archivo de configuración.
Propiedades:
Propiedades | Descripción | Propiedades internas |
---|---|---|
name | Representa el Nombre del CI en la CMDB de Aranda, permite relacionar este campo con otro campo de las clases en ServiceNow. | ver |
description | Representa la Descripción del CI en la CMDB de Aranda, permite relacionar este campo con otro campo de las clases en ServiceNow. | ver |
assetTag | Representa la Etiqueta de inventario del CI en la CMDB de Aranda, permite relacionar este campo con otro campo de las clases en ServiceNow. | ver |
serial | Representa el Serial del CI en la CMDB de Aranda, permite relacionar este campo con otro campo de las clases en ServiceNow. | ver |
rfid | Representa el RFID del CI en la CMDB de Aranda, permite relacionar este campo con otro campo de las clases en ServiceNow. | ver |
barCode | Representa el Código de barras del CI en la CMDB de Aranda, permite relacionar este campo con otro campo de las clases en ServiceNow. | ver |
licenseNumber | Representa el Número de licencia del CI en la CMDB de Aranda, permite relacionar este campo con otro campo de las clases en ServiceNow. | ver |
price | Representa el Precio del CI en la CMDB de Aranda, permite relacionar este campo con otro campo de las clases en ServiceNow. | ver |
brand | Representa la Marca del CI en la CMDB de Aranda, permite relacionar este campo con otro campo de las clases en ServiceNow. | ver |
model | Representa el Modelo del CI en la CMDB de Aranda, permite relacionar este campo con otro campo de las clases en ServiceNow. | ver |
responsible | Representa el Responsable del CI en la CMDB de Aranda, permite relacionar este campo con otro campo de las clases en ServiceNow. | ver |
provider | Representa el Proveedor del CI en la CMDB de Aranda, permite relacionar este campo con otro campo de las clases en ServiceNow. | ver |
manufacturer | Representa el Fabricante del CI en la CMDB de Aranda, permite relacionar este campo con otro campo de las clases en ServiceNow. | ver |
costCenter | Representa el Cetro de costos del CI en la CMDB de Aranda, permite relacionar este campo con otro campo de las clases en ServiceNow. | ver |
measureUnit | Representa la Unidad de medida del CI en la CMDB de Aranda, permite relacionar este campo con otro campo de las clases en ServiceNow. | ver |
installationDate | Representa la Fecha de aceptación del CI en la CMDB de Aranda, permite relacionar este campo con otro campo de las clases en ServiceNow. | ver |
reponsibleDate | Representa la Fecha de inicio de responsabilidad del CI en la CMDB de Aranda, permite relacionar este campo con otro campo de las clases en ServiceNow. | ver |
size | Representa la Valor de unidad de medida del CI en la CMDB de Aranda, permite relacionar este campo con otro campo de las clases en ServiceNow. | ver |
Propiedades internas
{
"type": "",
"key": "",
"searchBy": "",
"mappingDirection":"",
"defaultValue": {
"id": 0,
"value": ""
},
"onError": [
{
"action": "",
"message": ""
}
]
}
A continuación se describen las propiedades type, key, searchBy. que son utilizadas dentro de la definición del ci
Propiedades | Descripción | |
---|---|---|
type | Tipo de relación o asociación entre campos. | FieldValue, Value, Mapper. |
key | Nombre o identificador del campo en ServiceNow donde se buscará y actualizará el valor. | Tipo de propiedades en ServiceNow |
searchBy | Si el campo es de tipo Reference (referencia a otra clase) debe incluir el nombre por el que se buscará en la referencia. | |
mappingDirection | Representa la plataforma que tiene permitido actualizar el campo del CI | ver |
onError | Permite ejecutar una acción si no se encuentra el item en la plataforma | ver |
defaultValue | Permite agregar un campo por defecto. | ver |
Tipos de relación o asociación de campos
Nombre | Descripción | Ejemplo |
---|---|---|
Value | Permite asignar un valor al campo seleccionado a través del archivo de configuración. Se requiere que el valor se encuentre dentro de las propiedades de relación de valores | ver ejemplo |
Mapper | Busca asociar y/o relacionar los valores de la CMDB de Aranda con los valores de la CMDB de ServiceNow el campo indicado en la propiedad key en ServiceNow, la relación de valores se hace 1 a 1, no se admite que la asignación se repita | ver ejemplo |
FieldValue | Los valores de las propiedades se envían directamente entre plataformas sin ningún tipo de asociación/relación, para los campos tipo “Reference” en ServiceNow se requiere escribir el campo que se tomará y procesará para ser enviado a la plataforma de Aranda; este campo debe escribirlo en la propiedad “searchBy” | ver ejemplo |
⚐ Nota: Para los campos “name, description, assetTag, serial, rfid, barCode, licenseNumber, price, installationDate, size”, el tipo de mapeo que se puede asignar es “FieldValue”, debido a que estos campos no admiten ningún tipo de relación de valores, son valores ingresados por el usuario.
Propiedad “onError”
-
El array onError permite ejecutar una acción si no se encuentra el item en la plataforma, repetir una acción genera error.
-
Las acciones que puede ejecutar si no encuentra el item buscado en la plataforma son:
“Crea una nota en la plataforma” (createNote), en la propiedad onError.message permite personalizar el mensaje que se mostrará en la nota, se recomienda agregar los siguientes caracteres “{0}” que reemplazarán por el ID del item que se esta buscando.
“Retornar error al consumir el API de integración” (returnError), en la propiedad onError.message permite personalizar el mensaje que se mostrará en el mensaje de error, se recomienda agregar los siguientes caracteres “{0}” que reemplazarán por el ID del item que se esta buscando.
Propiedad “defaultValue”
-
La propiedad defaultValue permite agregar valores por defecto, si agrega esta propiedad con el valor de defaultValue.id para la CMDB de Aranda o defaultValue.value para la CMDB de ServiceNow, el sistema agrega el valor por defecto a la plataforma que estableció el valor.
-
Para los campos “name, description, assetTag, serial, rfid, barCode, licenseNumber, price, installationDate, size”, no se puede agregar un valor por defecto porque son valores escritos por el usuario y no se admite una relación de valores.
-
Sólo se puede agregar un valor por defecto si el tipo de mapeo es “Mapper” o “FieldValue”.
Ejemplo:
- Asigne el valor “computador” en la propiedad reference:
- En la definición del ci tome la propiedad Responsable (responsible)
- “type”: Asigne el tipo de asociación como FieldValue:
- “key”: Asigne el nombre de la propiedad en ServiceNow como assigned_to, las propiedades pueden ser de tipo Reference, Choice, Data (Tipo de propiedades en ServiceNow ):
- “defaultValue”: Asigne la propiedad defaultValue:
{
"ci": [
{
"reference": "computador",
"definition": {
"responsible": {
"type": "Mapper",
"key": "assigned_to",
"defaultValue": {
"id": 222,
"value": "sys_id_usuario_servicenow"
}
}
}
}
]
}
⚐ Nota: Se recomienda escribir el sys_id (si es un Reference) o el “value” (si es un Choice) del usuario a relacionar.***
Ejemplo tipo Value
- Asigne el valor “computador” en la propiedad reference:
- En la definición del ci tome la propiedad Modelo (model) y asigne el tipo de asociación como Value:
{ "ci": [ { "reference": "computador", "definition": { "model": { "type": "Value" } } } ] }
- La relación implica que debe asignarse un valor de forma común para todos los CIs, esto se logra mediante la propiedad “model”, como se muestra a continuación:
{ "ci": [ { "reference": "computador", "definition": { "model": { "type": "Value" } } } ], "model": [ { "reference": "computador", "mapping": [ { "id":10 } ] } ] }
⚐ Nota: Los CIs asignados para la clase “computador” en la CMDB de Aranda se les asignará el modelo con Id 10.***
Ejemplo tipo Mapper
- Asigne el valor “computador” en la propiedad reference:
- En la definición del ci tome la propiedad Modelo (model)
- “type”: Asigne el tipo de asociación como Mapper:
- “key”: Asigne el nombre de la propiedad en ServiceNow como model_id, las propiedades pueden ser de tipo Reference, Choice, Data (Tipo de propiedades en ServiceNow ):
{ "ci": [ { "reference": "computador", "definition": { "model": { "type": "Mapper", "key": "model_id" } } } ] }
- La relación implica que debe asociarse los modelos de la CMDB de Aranda con los modelos de la CMDB de ServiceNow, se recomienda escribir el sys_id del modelo a relacionar , como se muestra a continuación:
{ "ci": [ { "reference": "computador", "definition": { "model": { "type": "Value" } } } ], "model": [ { "reference": "computador", "mapping": [ { "id":5, "value": "sys_id_modelo_servicenow-10" } ] } ] }
⚐ Nota: Se relaciona el modelo con Id “5” de la CMDB de Aranda con el modelo “modelo-servicenow-10” en la CMDB de ServiceNow***
Ejemplo tipo FieldValue
- Asigne el valor “computador” en la propiedad reference:
- En la definición del ci tome la propiedad Modelo (model)
- “type”: Asigne el tipo de asociación como FieldValue:
- “key”: Asigne el nombre de la propiedad en ServiceNow como model_id; las propiedades pueden ser de tipo Reference, Choice, Data (Tipo de propiedades en ServiceNow ); la propiedad asignada es de tipo Reference y requiere que el campo searchBy se le asigne un valor (nombre por el que se buscará en la entidad Referenciada):
- “searchBy”: Asigne el nombre de la propiedad con la que se buscará en la entidad referenciada:
{ "ci": [ { "reference": "computador", "definition": { "model": { "type": "FieldValue", "key": "model_id", "searchBy": "name" } } } ] }
⚐ Nota: Las propiedades referenciadas a otras clases (tablas) en ServiceNow están compuestas por diferentes propiedades, para permitir la búsqueda del item se requiere especificar el nombre de este campo, cabe resaltar que para la búsqueda del item se usa el nombre/display del item desde la CMDB de Aranda hacia terceros, no se usa el id u otra propiedad, si en la CMDB de ServiceNow existen muchos elementos con el mismo nombre seleccione el tipo de relación como “Mapper”, para relacionarlos los items por IDs - sys_id***
Tipo de propiedades en ServiceNow
Los atributos de las clases de ServiceNow pueden contener valores que hagan referencia a otra entidad (clase) o su valor puede ser ingresado por el usuario. Los atributos que hacen relación a otras entidades son designados por ServiceNow como “reference” o su valor se puede obtener de un “select box” como se explica a continuación:
Atributos Sys_Choice y Reference: ServiceNow puede relacionar sus clases mediante dos tipos de atributos, tipo “reference” y “sys_choice”. Los atributos tipo reference se pueden encontrar como se muestra en la imagen en la columna type:
Mientras que el valor se pueda seleccionar de un “select box”, está trabajando con atributos tipo “sys_choice”, los valores contenidos se agregan a la clase “sys_choice” y se relacionan con la clase CI.
Valores permitidos para mappingDirection
Nombre | Descripción |
---|---|
Both | Las dos plataformas permiten actualizar el campos, este valor es agregado por defecto |
Aranda | Sólo la CMDB de Aranda puede actualizar el campo |
External | Sólo la CMDB de ServiceNow puede actualizar el campo |