Relación de tareas de asms y sub-tareas en jira Server
La siguiente información es relevante para la creación de las tareas entre las plataformas.
- Las tareas a relacionar entre plataformas deben tener padres relacionados previamente entre asms y Jira Server.
- El reference utilizado para la task debe coincidir con un padre en especifico, como sucede en las plataformas. Si en asms mis casos para Incidentes tienen tareas del modelo A, el archivo de configuración debe mantener dicha relación para un correcto funcionamiento. Si se intenta relacionar con un modelo B, NO funcionará la relación de las tareas.
- Las tareas se relacionan por medio de sus propios endpoint ASMS y jira Server
{
"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": ""
}
}
]
}
}
]
}
Donde:
Propiedades
| Propiedades | Descripción | |
|---|---|---|
| reference | Identificador único para crear una relación entre los casos y las tareas | |
| definition | Relación de los campos básicos entre ASMS y Jira Server | Ver |
| model | Relación de los campos adicionales entre ASMS y los campos de Jira Server | Ver |
reference: Se crea una relación entre la configuración de los casos y las tareas de asms por medio de la propiedad reference
Definition
| Propiedades | Descripción | |
|---|---|---|
| idByProject: | Relaciona el idbyproject de las tareas de ASMS con un campo tipo texto corto en Jira Server | ver más |
| Subject: | Representa el campo Asunto de la tarea en Aranda y permite relacionar este campo con un campo equivalente a la sub-tarea en Jira Server, se recomienda usar el campo summary. | ver más |
| Description: | Representa el campo Descripción de la tarea en Aranda y permite relacionar este campo con un campo equivalente de la sub-tarea en Jira Server. | ver más |
| responsibleGroup | Representa el campo Grupo responsable de la tarea en Aranda y permite relacionar este campo con un campo equivalente de la sub-tarea en Jira Server. | Propiedades internas |
| responsible | Representa el campo Responsable de la tarea en Aranda y permite relacionar este campo con un campo equivalente de la sub-tarea en Jira Server. | Propiedades internas |
| duration | Representa el campo Duración de la tarea en Aranda y permite relacionar este campo con un campo equivalente de la sub-tarea en Jira Server. | Ver más |
| enddate | Representa el campo Fecha final de la tarea en Aranda y permite relacionar este campo con un campo equivalente de la sub-tarea en Jira Server. | Ver más |
| startdate | Representa el campo Fecha de inicio de la tarea en Aranda y permite relacionar este campo con un campo equivalente de la sub-tarea en Jira Server. | Ver más |
Notas y recomendaciones
idByProject
{
"idByProject": {
"type": "FieldValue",
"key": ""
}
}
Para esta definición solo se soporta el tipo FieldValue, en la propiedad key se ingresa el id del campo tipo texto en Jira y se usa para agregar el idByProject de la tarea de ASMS, así podrá identificar la tarea a la que está relacionada desde la interfaz de Jira.
Subject
{
"Subject": {
"type": "FieldValue",
"key": ""
}
}
Se recomienda usar la propiedad summary de las sub-tareas en Jira Server.
Description
{
"Description": {
"type": "FieldValue",
"key": ""
}
}
Se recomienda usar la propiedad description de las sub-tareas en Jira Server.
duration
{
"duration": {
"type": "FieldValue",
"key": ""
}
}
Campo para especificar la duración de la tarea en asms, este valor es representado en minutos en las sub-tareas en Jira Server, por ende se recomienda usar un campo numérico o de texto corto.
enddate
{
"enddate": {
"type": "FieldValue",
"key": ""
}
}
Campo NO editable y auto calculado para mostrar la fecha de finalización de la tarea en asms, este valor solo se asigna desde asms hacia las sub-tareas en Jira Server, se recomienda usar un campo de tipo fecha.
startdate
{
"startdate": {
"type": "FieldValue",
"key": ""
}
}
Campo con la fecha de inicio de la tarea en asms, se recomienda usar un campo tipo fecha.
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 Jira Server donde se buscará y actualizará la información. | Propiedades en Jira Server |
| 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 la tarea en Aranda o defaultValue.value para la sub-tarea en Jira Server, 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 de task tome la propiedad Responsable (responsible).
- “type”: Asigne el tipo de asociación como FieldValue.
- “key”: Asigne el nombre de la propiedad en Jira Server como assigned_to (Propiedades en Jira Server).
- “defaultValue”: Asigne la propiedad defaultValue.
{
"task": [
{
"reference": "incident",
"definition": {
"responsible": {
"key": "assigned_to",
"type": "FieldValue",
"defaultValue": {
"id": 222,
"value": "id_usuario_jira_Server"
}
}
}
}
]
}
Propiedad de búsqueda
La propiedad searchBy es OPCIONAL, solo es válida para el type “FieldValue” y para el campos responsible.
Esta etiqueta permite definir la propiedad por la cual se realizará la búsqueda de usuarios en las plataformas ASMS y Jira Server; 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 responsible 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 sub-tarea de Jira Server el campo indicado en la propiedad key en Jira Server, 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
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 task, 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 responsible con Id 10.
Ejemplo tipo Mapper
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 Mapper. 4. “key”: Asigne el nombre de la propiedad en Jira Server como applicant_id_jira_Server (Propiedades en Jira Server).
{
"task": [
{
"reference": "incident",
"definition": {
"responsible": {
"type": "Mapper",
"key": "applicant_id_jira_Server"
}
}
}
]
}
5. La relación implica que debe asociarse los responsables de la mesa de Aranda (ASMS) con los responsables de Jira Server, se recomienda escribir el id del responsable a relacionar, como se muestra a continuación:
Nota: tenga en cuenta que se van a reutilizar los mismos mapper tanto para casos y tareas.
{
"task": [
{
"reference": "incident",
"definition": {
"responsible": {
"type": "Mapper"
}
}
}
],
"responsible": [
{
"reference": "incident",
"mapping": [
{
"id": 5,
"value": "id_solicitante_jira"
}
]
}
]
}
⚐ Nota: Se relaciona el responsable con Id “5” de la mesa de Aranda (ASMS) con el responsable “id_solicitante_jira” en Jira Server***
Ejemplo tipo FieldValue
- Asigne el valor “incident” en la propiedad responsible.
- En la definición de la task tome la propiedad responsible (responsible).
- “type”: Asigne el tipo de asociación como FieldValue.
- “key”: Asigne el nombre de la propiedad en Jira Server como applicant_id_jira_Server (Propiedades en Jira Server).
{
"task": [
{
"reference": "incident",
"definition": {
"responsible": {
"type": "FieldValue",
"key": "applicant_id_jira_Server"
}
}
}
]
}