Jira Issue Type Classifier
Jira agent that classifies the corresponding issue type for each issue in a given project.
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
Jira Issue Type Classifier
đź§© Overview
The workflow automates the classification of Jira issue types within a specified project. It pulls issue data, converts the information into a natural‑language prompt, leverages an LLM to determine the most suitable issue type for each entry, updates the issues in Jira, and delivers the result in a conversational chat format. This streamlines the maintenance of issue taxonomy, reduces manual effort, and ensures consistent issue categorization across the project.
⚙️ Main Features
- Automated Jira extraction – Retrieves all issues from a chosen project without manual API calls.
- Dynamic prompt construction – Formats raw issue data into a readable prompt for the language model.
- LLM‑powered classification – Uses a pre‑built Langgraph React Agent with an OpenAI model to decide the correct issue type.
- Integrated Jira updates – The agent calls Jira Issue Handler tools to apply the new issue type to each issue.
- Chat‑style output – Displays the agent’s responses in a chat‑friendly interface for quick review.
- Tool‑based modularity – All external actions (Jira reads, writes) are exposed as reusable tools for other agents.
🔄 Workflow Steps
| Component Name | Role in the Workflow | Key Inputs | Key Outputs |
|---|---|---|---|
| Jira Reader | Reads all issues from the specified project. | project_key, jira_api_token, jira_base_url, jira_email |
jira_response (Data) |
| Parse Data | Converts raw Jira data into plain text using a template. | jira_response (Data), template, separator |
text (Message) |
| Prompt | Builds the prompt that will be sent to the LLM. | text (Message), project_key |
prompt (Message) |
| OpenAI Model | Provides the language model used by the agent. | prompt (Message), system_message, temperature, model_name |
text_output (Message) |
| Langgraph React Agent | Orchestrates the conversation, invokes tools, and generates a final answer. | text_output (Message) as input_value, OpenAI Model as llm, all enabled tools (Jira Reader – List Issue Types, Jira Issue Handler – Update Issue, Jira Issue Handler – Update Subtask) |
response (Message) |
| Chat Output | Displays the agent’s response in a chat interface. | response (Message) as input_value, sender, sender_name |
message (Message) |
| Jira Reader – List Issue Types | Tool used by the agent to retrieve available issue types for the project. | project_key, jira_api_token, jira_base_url, jira_email |
jira_response (Data) |
| Jira Issue Handler – Update Issue | Tool used by the agent to change the issue type of a regular issue. | issue_key, project_key, jira_api_token, jira_base_url, jira_email |
jira_response (Data) |
| Jira Issue Handler – Update Subtask | Tool used by the agent to change the issue type of a sub‑task. | issue_key, issue_parent_key, project_key, jira_api_token, jira_base_url, jira_email |
jira_response (Data) |
The steps are listed in the order they execute during a run.
đź§ Notes
- The workflow relies on a valid Jira API token and email; these credentials are stored securely as credentials and not exposed in the flow.
- The Langgraph React Agent uses a fallback model only if the primary OpenAI model fails; this can be toggled via the
enable_fallbackflag. - The parsing template can be modified to change how Jira data is formatted for the LLM; it defaults to a concise list of issue keys, summaries, and descriptions.
- All Jira update actions are performed in batch‑mode if
mapping_modeis enabled, allowing the agent to process multiple issues in a single call. - The chat output uses a static conversation ID; for multi‑session use cases, this can be replaced with a dynamic session identifier.
- The tool metadata (names, descriptions, argument schemas) help the agent understand when and how to invoke each Jira operation accurately.