Relación entre ASMS y DevOps
Para realizar la integración es necesario relacionar los campos del ticket de Aranda ASMS con los campos del WorkItem de DevOps por medio de la sección “case” del archivo de configuración.
Estructura del json
{
"case": [
{
"reference": "",
"definition": {
"subject": {
"type": "",
"key": ""
},
"description": {
"type": "",
"key": ""
},
"responsible": {
"type": "",
"key": "",
"searchBy": [ "Email" ],
"defaultValue": {
"id": 0,
"value": ""
}
},
"responsibleGroup": {
"key": "",
"type": "",
"defaultValue": {
"id": 0,
"value": ""
}
},
"client": {
"type": "",
"key": "",
"searchBy": [ "Email" ],
"defaultValue": {
"id": 0,
"value": ""
}
},
"company": {
"type": "",
"key": "",
"defaultValue": {
"id": 0,
"value": ""
}
},
"applicant": {
"type": "",
"key": "",
"searchBy": [ "Email" ],
"defaultValue": {
"id": 0,
"value": ""
}
},
"typeRegister": {
"type": "",
"key": "",
"defaultValue": {
"id": 0,
"value": ""
}
},
"ci": {
"type": "",
"key": "",
"defaultValue": {
"id": 0,
"value": ""
}
}
}
}
]
}
Propiedades :
Propiedades | Descripción |
---|---|
reference | Identificador único para crear una relación entre los conceptos project > category, itemType, typeRegister, applicant, responsibleGroup, responsible, company, client ver |
definition | Permite relacionar los campos del caso de ASMS con los campos del WorkItem en DevOps |
definition
Para realizar la integración es necesario relacionar los campos del caso en Aranda ASMS con el WorkItem de DevOps mediante la sección “definition” del archivo de configuración, estas propiedades en ASMS se pueden asociar con campos de tipo lista o string en DevOps, excluyendo la propiedad subject y description.
Propiedades:
Propiedades | Descripción | |
---|---|---|
subject | Representa el campo Subject del caso en Aranda y permite relacionar este campo con un campo equivalente del WorkItem en DevOps, se recomienda usar el campo System.Title. | |
description | Representa el campo Description del caso en Aranda y permite relacionar este campo con un campo equivalente del WorkItem en DevOps. | |
typeRegister | Representa el campo Tipo de registro del caso en Aranda y permite relacionar este campo con un campo equivalente del WorkItem en DevOps. | Propiedades internas |
responsibleGroup | Representa el campo Grupo responsable del caso en Aranda y permite relacionar este campo con un campo equivalente del WorkItem en DevOps. | Propiedades internas |
responsible | Representa el campo Responsable del caso en Aranda y permite relacionar este campo con un campo equivalente del WorkItem en DevOps. | Propiedades internas |
applicant | Representa el campo Solicitante del caso en Aranda y permite relacionar este campo con un campo equivalente del WorkItem en DevOps. | Propiedades internas |
company | Representa el campo Compañía del caso en Aranda, permite relacionar este campo con otro campo equivalente del WorkItem en DevOps. | Propiedades internas |
client | Representa el campo Cliente del caso en Aranda y permite relacionar este campo con un campo equivalente del WorkItem en DevOps. | Propiedades internas |
ci | Representa el campo CI del caso en Aranda y permite relacionar este campo con un campo equivalente del WorkItem en DevOps. | Propiedades internas |
Caso en ASMS: Ilustración de referencia, información del cliente de los casos en la plataforma ASMS
Caso en ASMS parte 2: Ilustración de referencia, información básica de los casos en la plataforma ASMS
WorkItem DevOps: Ilustración de referencia, información básica de los tickets en la plataforma DevOps
Propiedades internas
{
"key": "",
"type": "",
"searchBy": ["Email"],
"defaultValue": {
"id": 0,
"value": ""
}
}
Donde:
Propiedades | Descripción | |
---|---|---|
type | Tipo de asociación, los tipos soportados son Value, Mapper, FieldValue. | FieldValue, Value, Mapper. |
key | Nombre o identificador del campo en DevOps donde se buscará y actualizará la información. | Propiedades en DevOps |
searchBy | Propiedad de búsqueda del campo, solo aplica para los campos de tipo “User” (responsible, applicant, client) | Ver |
defaultValue | Permite agregar un valor por defecto. | Ver |
Propiedad “defaultValue”
-
La propiedad defaultValue permite agregar valores por defecto, si agrega esta propiedad con el valor de defaultValue.id para el caso en Aranda o defaultValue.value para el WorkItem en DevOps, el sistema agrega el valor por defecto a la plataforma que estableció el valor.
-
Para los campos “subject, description”, 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 podrá agregar un valor por defecto si el tipo de mapeo es “Mapper” o “FieldValue”.
Ejemplo:
- Asigne el valor “incident” en la propiedad reference.
- En la definición del case tome la propiedad Responsable (responsible).
- “type”: Asigne el tipo de asociación como FieldValue.
- “key”: Asigne el nombre de la propiedad en DevOps como assigned_to (Propiedades en DevOps).
- “defaultValue”: Asigne la propiedad defaultValue.
{
"case": [
{
"reference": "incident",
"definition": {
"responsible": {
"key": "assigned_to",
"type": "FieldValue",
"defaultValue": {
"id": 222,
"value": "id_usuario_devops"
}
}
}
}
]
}
Propiedad de búsqueda
La propiedad searchBy es OPCIONAL, solo es valida para el type “FieldValue” y para los campos responsible, applicant y client.
Esta etiqueta permite definir la propiedad por la cual se realizará la búsqueda de usuarios en las plataformas ASMS y DevOps; la propiedad admitida es “Email” y por defecto buscará por la propiedad “name” si no se agrega la etiqueta “searchBy”.
Caso de uso
Para el uso adecuado de la propiedad de búsqueda “Email”, los usuarios de las dos plataformas deben tener el mismo correo por usuario. A continuación se describe un ejemplo de la propiedad applicant con la opción de búsqueda por “Email”.
{
"applicant": {
"type": "FieldValue",
"key": "Custom.applicant",
"searchBy": [ "Email" ]
}
}
Tipos de relación o asociación de campos
Los siguientes tipos de asociación determinan como se obtendrán los valores de las propiedades del ticket.
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 del caso de Aranda con los valores del WorkItem de DevOps el campo indicado en la propiedad key en DevOps, 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 | ver ejemplo |
Ejemplo tipo Value
- Asigne el valor “incident” en la propiedad reference.
- En la definición del case tome la propiedad Solicitante (applicant) y asigne el tipo de asociación como Value.
{ "case": [ { "reference": "incident", "definition": { "applicant": { "type": "Value" } } } ] }
- La relación implica que debe asignarse un valor de forma común para todos los casos, esto se logra mediante la propiedad “applicant”, como se muestra a continuación:
{
"case": [
{
"reference": "incident",
"definition": {
"applicant": {
"type": "Value"
}
}
}
],
"applicant": [
{
"reference": "",
"id": 10
}
]
}
- Asigne un valor a la propiedad “applicant.reference”:
{ "case": [ { "reference": "incident", "definition": { "applicant": { "type": "Value" } } } ], "applicant": [ { "reference": "incident", "id": 10 } ] }
⚐ Nota: Los casos asociados al “reference” “incident”, en ASMS se les asignará el solicitante con Id 10.***
Ejemplo tipo Mapper
- Asigne el valor “incident” en la propiedad reference.
- En la definición del case tome la propiedad Solicitante (applicant).
- “type”: Asigne el tipo de asociación como Mapper.
- “key”: Asigne el nombre de la propiedad en DevOps como applicant_id_devops (Propiedades en DevOps).
{
"case": [
{
"reference": "incident",
"definition": {
"applicant": {
"type": "Mapper",
"key": "applicant_id_devops"
}
}
}
]
}
- La relación implica que debe asociarse los solicitantes de la mesa de Aranda (ASMS) con los solicitantes de DevOps, se recomienda escribir el id del solicitante a relacionar , como se muestra a continuación:
{
"case": [
{
"reference": "incident",
"definition": {
"applicant": {
"type": "Mapper"
}
}
}
],
"applicant": [
{
"reference": "incident",
"mapping": [
{
"id":5,
"value": "id_solicitante_devops"
}
]
}
]
}
⚐ Nota: Se relaciona el solicitante con Id “5” de la mesa de Aranda (ASMS) con el solicitante “id_solicitante_devops” en DevOps***
Ejemplo tipo FieldValue
- Asigne el valor “incident” en la propiedad table.
- En la definición del case tome la propiedad Solicitante (applicant).
- “type”: Asigne el tipo de asociación como FieldValue.
- “key”: Asigne el nombre de la propiedad en DevOps como applicant_id_devops (Propiedades en DevOps).
{
"case": [
{
"reference": "incident",
"definition": {
"applicant": {
"type": "FieldValue",
"key": "applicant_id_devops"
}
}
}
]
}