Ir al contenido

Jira

Integración con Jira Cloud a través de la API REST v3 de Atlassian. La familia cubre el ciclo de vida de una incidencia: crearla, leerla, actualizar campos, buscar con JQL, agregar comentarios y moverla de columna con una transición.

La autenticación la resuelve el módulo de credenciales (proveedor jira) con auth Basic, construida a partir del email de la cuenta y un API token. El nodo agrega /rest/api/3 a la URL de tu sitio automáticamente, así que solo guardás el dominio base.

NodoNombre internoLlamada HTTP
Jira: Crear incidenciajiraCreateIssuePOST /issue
Jira: Leer incidenciajiraGetIssueGET /issue/{key}
Jira: Actualizar incidenciajiraUpdateIssuePUT /issue/{key}
Jira: Buscar (JQL)jiraSearchIssuesPOST /search/jql
Jira: Cambiar estadojiraTransitionIssuePOST /issue/{key}/transitions
Jira: Comentar incidenciajiraAddCommentPOST /issue/{key}/comment

Todos los nodos de la familia comparten un parámetro; el resto está documentado en la página de cada operación.

ParámetroTipoRequeridoDescripción
credentials_idcredencialSíCredencial de Jira (proveedor jira)

Proveedor: jira. Creala en Credenciales → Agregar → Jira (Atlassian).

CampoDescripción
base_urlLa URL de tu sitio Atlassian, sin barra final (ej. https://tu-dominio.atlassian.net). El nodo agrega /rest/api/3.
emailEmail de la cuenta Atlassian dueña del API token.
api_tokenToken creado en id.atlassian.com → Seguridad → Tokens de API. Se enmascara en los logs.
timeoutOpcional. Tiempo máximo de espera en milisegundos (por defecto 20000).

La autenticación es Basic: el nodo arma Basic base64(email:api_token). El botón Test llama a GET /myself y devuelve el nombre de la cuenta autenticada.

La API v3 de Jira exige que los campos de texto enriquecido (descripción y cuerpo de los comentarios) viajen en Atlassian Document Format: un JSON, no un texto plano. Los nodos convierten tu texto a ADF automáticamente: vos escribís texto normal (cada salto de línea se vuelve un párrafo) y el nodo arma el JSON.

Esto aplica a description en Crear incidencia, a description dentro del JSON fields de Actualizar incidencia, y a comment en Comentar incidencia.

Cada nodo devuelve la respuesta de Jira en data, más un objeto _meta con la versión del módulo y los tiempos:

{
"data": { "id": "10042", "key": "OPS-123", "self": "https://tu-dominio.atlassian.net/rest/api/3/issue/10042" },
"_meta": { "moduleVersion": "1.0.0", "success": true, "key": "OPS-123", "id": "10042", "totalMs": 412 }
}

Si algo falla, el nodo corta la rama y devuelve un objeto error en lugar de continuar:

{
"data": {},
"error": { "message": "Field 'summary' is required.", "type": "validation", "status": 400 }
}
  • Las variables dinámicas tipo {{data.asunto}} se resuelven en los parámetros de texto: project_key, summary, description, issue_key, jql, transition y comment. No se resuelven dentro de los parámetros JSON (extra_fields, fields) ni en las listas de campos separadas por coma.
  • Los reintentos son automáticos, con un tope de 3 intentos y espera exponencial, ante errores de red, timeouts, 429 (respetando Retry-After) y 5xx. Los errores de validación, 404 y de autenticación no se reintentan.
  • El tiempo máximo de espera por defecto es de 20 segundos; podés subirlo con el campo timeout de la credencial.
  • El API token nunca se escribe completo en los logs: solo aparece enmascarado, del estilo abcd…wxyz.