Classificador de tipos de problemas do Jira
Agente Jira que classifica o tipo de problema correspondente para cada problema num determinado projeto.
graph TD
%%{init: {'theme': 'mc','layout': 'elk'}}%%
ParseData-aice2[<div><img src="/_astro/braces.Djq0PW4_.svg" style="height: 20px !important;width: 20px !important"/></div>Parse Data]
style ParseData-aice2 stroke:#a170ff
LanggraphReactAgent-u2os9[Agent]
style LanggraphReactAgent-u2os9 stroke:#a170ff
Prompt-8pfns[<div><img src="/_astro/square-terminal.BMOXc-nZ.svg" style="height: 20px !important;width: 20px !important"/></div>Prompt]
style Prompt-8pfns stroke:#a170ff
ChatOutput-zqoh9[<div><img src="/_astro/messages-square.BaSDmT6g.svg" style="height: 20px !important;width: 20px !important"/></div>Chat Output]
style ChatOutput-zqoh9 stroke:#a170ff
OpenAIModel-zu1vo[<div><img src="/_astro/openAI.BhmuxEs3.svg" style="height: 20px !important;width: 20px !important"/></div>OpenAI]
style OpenAIModel-zu1vo stroke:#a170ff
JiraReader-i2erv[List Issue Types]
style JiraReader-i2erv stroke:#a170ff
JiraIssueHandler-8ctxx[Update Subtask]
style JiraIssueHandler-8ctxx stroke:#a170ff
JiraIssueHandler-phklc[Update Issue]
style JiraIssueHandler-phklc stroke:#a170ff
JiraReader-3f3ut[Jira Reader]
style JiraReader-3f3ut stroke:#a170ff
Prompt-8pfns -.- LanggraphReactAgent-u2os9
linkStyle 0 stroke:#a170ff
LanggraphReactAgent-u2os9 -.- ChatOutput-zqoh9
linkStyle 1 stroke:#a170ff
OpenAIModel-zu1vo -.- LanggraphReactAgent-u2os9
linkStyle 2 stroke:#a170ff
ParseData-aice2 -.- Prompt-8pfns
linkStyle 3 stroke:#a170ff
JiraIssueHandler-phklc -.- LanggraphReactAgent-u2os9
linkStyle 4 stroke:#a170ff
JiraIssueHandler-8ctxx -.- LanggraphReactAgent-u2os9
linkStyle 5 stroke:#a170ff
JiraReader-i2erv -.- LanggraphReactAgent-u2os9
linkStyle 6 stroke:#a170ff
JiraReader-3f3ut -.- ParseData-aice2
linkStyle 7 stroke:#a170ff
Classificador de Tipos de Issue no Jira
🧩 Visão Geral
O fluxo Classificador de Tipos de Issue no Jira automatiza a categorização de tipos de issue dentro de um projeto específico. Ele extrai os dados das issues, converte essas informações em um prompt em linguagem natural, utiliza um LLM para determinar o tipo de issue mais adequado para cada item, atualiza as issues no Jira e apresenta o resultado em um formato de chat conversacional. Isso facilita a manutenção da taxonomia de issues, reduz esforço manual e garante categorização consistente em todo o projeto.
⚙️ Funcionalidades Principais
- Extração automática do Jira – Recupera todas as issues de um projeto escolhido sem chamadas manuais à API.
- Construção dinâmica de prompt – Formata os dados brutos das issues em um prompt legível para o modelo de linguagem.
- Classificação por LLM – Usa um Langgraph React Agent com um modelo OpenAI para decidir o tipo correto de cada issue.
- Atualizações integradas no Jira – O agente chama ferramentas de manipulação de issues para aplicar o novo tipo a cada item.
- Saída em estilo chat – Exibe as respostas do agente de forma amigável para revisão rápida.
- Modularidade baseada em ferramentas – Todas as ações externas (leitura e escrita no Jira) estão expostas como ferramentas reutilizáveis para outros agentes.
🔄 Etapas do Fluxo
| Componente | Papel no Fluxo | Entradas Principais | Saídas Principais |
|---|---|---|---|
| Jira Reader | Lê todas as issues do projeto especificado. | project_key, jira_api_token, jira_base_url, jira_email |
jira_response (Data) |
| Parse Data | Converte os dados brutos do Jira em texto plano usando um template. | jira_response (Data), template, separator |
text (Message) |
| Prompt | Constrói o prompt que será enviado ao LLM. | text (Message), project_key |
prompt (Message) |
| OpenAI Model | Fornece o modelo de linguagem usado pelo agente. | prompt (Message), system_message, temperature, model_name |
text_output (Message) |
| Langgraph React Agent | Orquestra a conversa, invoca ferramentas e gera a resposta final. | text_output (Message) como input_value, OpenAI Model como llm, todas as ferramentas habilitadas (Jira Reader – List Issue Types, Jira Issue Handler – Update Issue, Jira Issue Handler – Update Subtask) |
response (Message) |
| Chat Output | Exibe a resposta do agente em uma interface de chat. | response (Message) como input_value, sender, sender_name |
message (Message) |
| Jira Reader – List Issue Types | Ferramenta usada pelo agente para obter os tipos de issue disponíveis no projeto. | project_key, jira_api_token, jira_base_url, jira_email |
jira_response (Data) |
| Jira Issue Handler – Update Issue | Ferramenta usada para alterar o tipo de uma issue regular. | issue_key, project_key, jira_api_token, jira_base_url, jira_email |
jira_response (Data) |
| Jira Issue Handler – Update Subtask | Ferramenta usada para alterar o tipo de uma sub‑task. | issue_key, issue_parent_key, project_key, jira_api_token, jira_base_url, jira_email |
jira_response (Data) |
As etapas estão listadas na ordem de execução durante uma execução do fluxo.
🧠 Observações
- O fluxo depende de um token de API Jira válido e do e-mail do usuário; essas credenciais são armazenadas com segurança e não são expostas no fluxo.
- O Langgraph React Agent utiliza um modelo de fallback apenas se o modelo OpenAI principal falhar; isso pode ser alternado via a flag
enable_fallback. - O template de parsing pode ser ajustado para modificar como os dados do Jira são apresentados ao LLM; por padrão, mostra uma lista concisa de keys, summaries e descrições das issues.
- Todas as ações de atualização no Jira são realizadas em modo batch se
mapping_modeestiver habilitado, permitindo que o agente processe múltiplas issues em uma única chamada. - O chat output usa um ID de conversa estático; para casos de múltiplas sessões, isso pode ser substituído por um identificador de sessão dinâmico.
- Os metadados das ferramentas (nomes, descrições, esquemas de argumentos) ajudam o agente a entender quando e como invocar cada operação do Jira corretamente.