Relación entre ASMS y DevOps
Para realizar la integración es necesario relacionar los campos de la tarea de Aranda ASMS con los campos de la tarea de DevOps por medio de la sección “task” del archivo de configuración.
Estructura del json
{
"task": [
{
"reference": "",
"definition": {
"idByProject": {
"type": "",
"key": ""
},
"subject": {
"type": "",
"key": ""
},
"description": {
"type": "",
"key": ""
},
"responsible": {
"type": "",
"key": "",
"SearchBy": [""]
},
"responsibleGroup": {
"key": "",
"type": "",
"defaultValue": {
"id": 0,
"value": ""
}
},
"duration": {
"type": "",
"key": ""
},
"enddate": {
"type": "",
"key": ""
},
"startdate": {
"type": "",
"key": ""
}
},
"model": {
"id": 0,
"additionalFields": [
{
"id": 0,
"type": "",
"field": {
"key": ""
},
"mapping": [
{
"id": 0,
"value": ""
},
{
"id": 0,
"value": ""
},
{
"id": 0,
"value": ""
}
]
}
],
"state": [
{
"id": 0,
"value": "",
"reason": 0,
"commentary": {
"key": "",
"value": ""
}
}
]
}
}
]
}
Propiedades :
| Propiedades | Descripción | |
|---|---|---|
| reference | Identificador único para crear una relación entre los casos y las tareas | |
| definition | Permite relacionar los campos de las tareas de ASMS con los campos de las tareas en DevOps | |
| model | Relación de los campos adicionales entre ASMS y los campos de Jira Cloud | Ver |
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 de la tarea en Aranda y permite relacionar este campo con un campo equivalente de la tarea en DevOps, se recomienda usar el campo System.Title. | |
| description | Representa el campo Description de la tarea en Aranda y permite relacionar este campo con un campo equivalente de la tarea en DevOps. | ver |
| idByProject | Representa el Identificador de la tarea y permite relacionar este campo con un campo equivalente de la tarea en DevOps. | Propiedades internas |
| responsibleGroup | Representa el campo Grupo responsable de la tarea en Aranda y permite relacionar este campo con un campo equivalente de la tarea en DevOps. | Propiedades internas |
| responsible | Representa el campo Responsable de la tarea en Aranda y permite relacionar este campo con un campo equivalente de la tarea en DevOps. | Propiedades internas |
| duration | Representa el campo Duración de la tarea en Aranda y permite relacionar este campo con un campo equivalente de la tarea en DevOps. | Propiedades internas |
| enddate | Representa el campo Fecha final de la tarea en Aranda y permite relacionar este campo con un campo equivalente de la tarea en DevOps. | Propiedades internas |
| startdate | Representa el campo Fecha de inicio de la tarea en Aranda y permite relacionar este campo con un campo equivalente de la tarea en DevOps. | Propiedades internas |
description:
La descripción de la tarea en DevOps puede relacionarse con el campo adicional tipo “Párrafo” de las tareas de ASMS.
tarea en ASMS: Ilustración de referencia, información básica de la tarea en la plataforma ASMS

tarea en DevOps: Ilustración de referencia, información básica de la tarea 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. | Ver |
| searchBy | Propiedad de búsqueda del campo, solo aplica para los campos de tipo “User” (responsible) | Ver |
| defaultValue | Permite agregar un valor por defecto. | Ver |
Propiedad “key”
La integración permite relacionar las propiedades de la tarea con las propiedades de la tarea en DevOps
1. Para obtener el nombre de las propiedades puede consultar: Propiedades en DevOps
2. Relacionar Area Path en DevOps * La asignación del nombre del Área Path tiene las siguientes restricciones: Ver. * La integración creará el Área Path si no existe. * Si el valor asignado en ASMS es nulo o vacío en DevOps se asigna el área path por defecto que corresponde al nombre del proyecto. * Si en el valor asignado en DevOps está el área path, por defecto (nombre del proyecto) en ASMS se asigna vacío o nulo al campo. * Si el valor asignado en la propiedad de ASMS O DevOps es nula o vacía y en el archivo de configuración tiene asignación la propiedad defaultValue, las plataformas tendrán el valor registrado en defaultValue. * Cuando los campos se relacionan con “System.AreaPath” solo se permiten los tipos de relación “Mapper” o “FieldValue”. * Para relacionar los IDs de las propiedades de ASMS con el Area Path, NO escriba el nombre que se agrega por defecto en el Área Path (nombre del proyecto), agregue solo el Path.
<center><img src="/aic/assets/images/devops/areapath_definition.jpg"></center>
* No se permite relacionar más de un campo con la propiedad "System.AreaPath".
* Se relacionan los siguientes tipos de campos adicionales de la tarea con el "Area Path"
* Short Text
* List
* Catalog (List)
* Catalog (Tree)
* Para los campos adicionales no se permite agregar la propiedad **"value"** si se relaciona con "System.AreaPath".
⚐ Nota: Se valida compatibilidad de los campos adicionales en tiempo de ejecución.
Propiedad “defaultValue”
1. 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.
2. Para los campos “subject”, “description”, “idByProject”, no se puede agregar un valor por defecto porque son valores escritos por el usuario y no se admite una relación de valores.
3. Sólo podrá agregar un valor por defecto si el tipo de mapeo es “Mapper” o “FieldValue”.
Ejemplo:
1. Asigne el valor “incident” en la propiedad reference.
2. En la definición de task tome la propiedad Responsable (responsible).
3. “type”: Asigne el tipo de asociación como FieldValue.
4. “key”: Asigne el nombre de la propiedad en DevOps como assigned_to (Propiedades en DevOps).
5. “defaultValue”: Asigne la propiedad defaultValue.
{
"task": [
{
"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 el campo responsible.
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 responsable con la opción de búsqueda por “Email”.
{
"responsible": {
"type": "FieldValue",
"key": "assigned_to",
"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 de la tarea de Aranda con los valores de la tarea 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 |
⚐ Nota: Para los campos “subject”, “description”, “idByProject”, solo permiten el tipo de asociación: FieldValue
Ejemplo tipo Value
1. Asigne el valor “incident” en la propiedad reference.
2. En la definición de task tome la propiedad Responsable (responsible) y asigne el tipo de asociación como Value.
{
"task": [
{
"reference": "incident",
"definition": {
"responsible": {
"type": "Value"
}
}
}
]
}
3. La relación implica que debe asignarse un valor de forma común para todas las tareas, esto se logra mediante la propiedad “responsible”, como se muestra a continuación:
{
"task": [
{
"reference": "incident",
"definition": {
"responsible": {
"type": "Value"
}
}
}
],
"responsible": [
{
"reference": "",
"id": 10
}
]
}
4. Asigne un valor a la propiedad “responsible.reference”:
{
"task": [
{
"reference": "incident",
"definition": {
"responsible": {
"type": "Value"
}
}
}
],
"responsible": [
{
"reference": "incident",
"id": 10
}
]
}
⚐ Nota: Las tareas asociados al “reference” “incident”, en ASMS se les asignará el responsable con Id 10.***
Ejemplo tipo Mapper
1. Asigne el valor “incident” en la propiedad reference.
2. En la definición de la task tome la propiedad Responsable (responsible).
3. “type”: Asigne el tipo de asociación como Mapper.
4. “key”: Asigne el nombre de la propiedad en DevOps como applicant_id_devops (Propiedades en DevOps).
{
"task": [
{
"reference": "incident",
"definition": {
"responsible": {
"type": "Mapper",
"key": "applicant_id_devops"
}
}
}
]
}
5. La relación implica que debe asociarse los responsable de la mesa de Aranda (ASMS) con los responsables de DevOps, se recomienda escribir el id del solicitante a relacionar , como se muestra a continuación:
{
"task": [
{
"reference": "incident",
"definition": {
"responsible": {
"type": "Mapper"
}
}
}
],
"responsible": [
{
"reference": "incident",
"mapping": [
{
"id": 5,
"value": "id_solicitante_devops"
}
]
}
]
}
⚐ Nota: Se relaciona el responsable con Id “5” de la mesa de Aranda (ASMS) con el responsable “id_solicitante_devops” en DevOps***
Ejemplo tipo FieldValue
1. Asigne el valor “incident” en la propiedad table.
2. En la definición de la task tome la propiedad responsable (responsible).
3. “type”: Asigne el tipo de asociación como FieldValue.
4. “key”: Asigne el nombre de la propiedad en DevOps como applicant_id_devops (Propiedades en DevOps).
{
"task": [
{
"reference": "incident",
"definition": {
"responsible": {
"type": "FieldValue",
"key": "applicant_id_devops"
}
}
}
]
}