Clasificador de tipos de incidencia de Jira
Agente de Jira que clasifica el tipo de problema correspondiente para cada problema en un proyecto determinado.
🧩 Descripción general
El flujo automatiza la clasificación y actualización de incidencias de Jira mediante un agente inteligente.
Se extraen las incidencias de un proyecto, se convierten a texto, se envía un prompt a un modelo de OpenAI para decidir el tipo de issue más adecuado y, finalmente, el agente actualiza las incidencias en Jira con los cambios detectados.
⚙️ Funcionalidades principales
- Consulta de incidencias: obtiene la lista de issues de un proyecto de Jira.
- Consulta de tipos de issue: recupera los tipos de issue disponibles en el proyecto.
- Transformación de datos: convierte la salida de Jira a un texto estructurado.
- Generación de prompts: construye el mensaje que el modelo de IA utilizará para decidir el tipo de issue.
- Inferencia con IA: el modelo de OpenAI procesa el prompt y devuelve la clasificación sugerida.
- Actualización de incidencias: el agente envía las actualizaciones de tipo y otros campos a Jira.
- Interfaz de chat: muestra la respuesta del agente al usuario.
- Gestión de herramientas: el agente dispone de los componentes de Jira como herramientas para ser invocadas de forma dinámica.
- Control de flujo: el agente gestiona iteraciones y tiempos máximos de ejecución.
🔄 Pasos del flujo de trabajo
| Nombre del componente | Rol en el flujo | Entradas clave | Salidas clave |
|---|---|---|---|
| JiraReader – List Issues | Recupera las incidencias del proyecto. | Operation = “List Issues”, project_key = “SCRUM” | jira_response (datos de las incidencias) |
| Parse Data | Convierte la respuesta de Jira en texto estructurado. | data (jira_response) | text (lista de issues formateada) |
| Prompt | Genera el mensaje que el modelo de IA procesará. | issues_list (text), project_key = “SCRUM” | prompt (texto del prompt) |
| Modelo de OpenAI | Genera la respuesta de IA a partir del prompt. | input_value (prompt) | text_output (respuestas de IA) |
| Langgraph React Agent | Orquesta el flujo, llama a herramientas y devuelve respuesta. | input_value (prompt), llm (Modelo de OpenAI), tools (JiraReader‑List Issue Types, JiraIssueHandler‑Update Subtask, JiraIssueHandler‑Update Issue) | response (mensaje final) |
| JiraReader – List Issue Types | Proporciona la lista de tipos de issue disponibles. | Operation = “List Issue Types”, project_key = “SCRUM” | jira_response (tipos de issue) |
| JiraIssueHandler – Update Subtask | Actualiza subtareas con el tipo de issue determinado. | issue_key, issue_type_field, project_key, modified_summary_field, priority_field, issue_status, assignee_accountId, comment_text | jira_response (confirmación de la actualización) |
| JiraIssueHandler – Update Issue | Actualiza issues con el tipo de issue determinado. | issue_key, issue_type_field, project_key, summary_field, priority_field, issue_status, assignee_accountId, comment_text | jira_response (confirmación de la actualización) |
| Chat Output | Muestra la respuesta del agente al usuario. | input_value (response) | message (texto del chat) |
Observaciones sobre el orden
Los componentes de herramientas (JiraReader – List Issue Types, JiraIssueHandler – Update Subtask, JiraIssueHandler – Update Issue) son consumidos internamente por el agente y no aparecen en la secuencia lineal de conexión de nodos. Se los incluye para clarificar la interacción dentro del agente.
🧠 Notas
- Gestión de tokens: el modelo de OpenAI está configurado con un máximo de 10 000 tokens y se activa el modo JSON para garantizar la consistencia de la salida.
- Modo de mapeo: el flujo permite procesar múltiples incidencias en lote; sin embargo, la configuración actual desactiva el modo de mapeo.
- Limitaciones de Jira: se requiere un token de acceso válido y los permisos necesarios para leer y actualizar issues del proyecto “SCRUM”.
- Manejo de errores: si el modelo no devuelve un tipo válido, el agente puede recurrir al fallback o a la intervención humana.
- Seguridad: la clave de API de OpenAI y el token de Jira están almacenados como credenciales; deben gestionarse con prácticas de secreto seguro.
- Escalabilidad: el flujo está preparado para ampliarse añadiendo más herramientas o cambiando el modelo de IA sin alterar la lógica principal.
- Tiempos de ejecución: el agente está configurado con un límite de 10 segundos y un máximo de 50 iteraciones para evitar bucles infinitos.