AI Agent · LangChain ReAct

BA Jira Agent — AI-powered backlog analysis with ReAct reasoning

Think → Act → Observe · 4 Custom Tools · DeepSeek LLM · Sprint Velocity · Backlog Health

Ask your Jira backlog questions in plain English. The agent reasons about which tool to call, executes it, observes the result, and produces structured analysis with metrics, tables, and risk flags. Built with LangChain ReAct and LangGraph orchestration.

Try BA Jira Agent Free →

What BA Jira Agent Does

BA Jira Agent is a LangChain ReAct agent that analyzes Jira backlogs using natural-language queries. Instead of writing JQL or clicking through filters, you simply ask: "Which tickets are unassigned and what is the total story points at risk?" The agent reasons about what data it needs, picks the right tool, executes it, observes the result, and decides if it needs more information before producing a structured answer.

The agent uses the ReAct (Reason + Act) pattern via LangGraph's create_react_agent. Every query triggers a transparent Think → Act → Observe loop that you can inspect in the "Agent Thought Process" expander — see exactly why the agent chose each tool and what it learned from each call.

The 4 Custom Tools

  1. load_tickets() — Loads the full backlog view with all tickets, types, statuses, and assignments.
  2. filter_tickets() — Filters by priority, status, type, assignee, or sprint. Combines multiple filters for precise queries.
  3. search_tickets() — Keyword search across ticket summaries and descriptions. Finds related work items fast.
  4. calculate_metrics() — Computes sprint velocity, workload distribution, and backlog health scores from ticket data.

How the ReAct Loop Works

User Query → Agent Thinks → Picks Tool → Executes → Observes
                                                     ↓
                                              Need more data?
                                              ↙            ↘
                                           YES              NO
                                         Repeat          Final Answer

The agent can chain multiple tool calls in a single query. For example, "Summarize all open bugs in Sprint 24 and tell me which ones are unassigned" triggers filter_tickets(type=Bug)filter_tickets(status=Open)filter_tickets(sprint=Sprint 24) → cross-reference with unassigned filter → final synthesis.

Example: Query → Response

You ask: "Which tickets are unassigned and what is the total story points at risk?"

"Which tickets are unassigned and what is the total story points at risk?"

BA Jira Agent generates...

  • Calls filter_tickets(assignee=unassigned) → finds 12 unassigned tickets
  • Calls calculate_metrics(summary) → computes total story points at risk
  • Returns structured table with ticket keys, summaries, priorities, and story points
  • Highlights highest-priority unassigned items as risk flags
  • Recommends reassignment based on sprint capacity and ticket complexity
  • Full Think → Act → Observe trace visible in the thought process expander

Tech Stack

ServiceRolePlanCost
DeepSeek APILLM reasoning enginePay-per-use~$0.01 / query
Hugging Face SpacesApp hostingFree tier$0
CloudflareDomain + CDNRegistrar~$10 / year
LayerTechnology
Agent FrameworkLangChain 1.3.x + LangGraph
Agent PatternReAct (Reason + Act) via create_react_agent
LLM ProviderDeepSeek (OpenAI-compatible API)
Custom Tools4 @tool functions (load, filter, search, metrics)
Data SourceMock Jira export (20 tickets) / Live Jira API (configurable)
App UIStreamlit
App HostingHugging Face Spaces (Docker SDK)
Testspytest — 119 tests (unit, integration, smoke, AppTest)
Coverage87%

Frequently Asked Questions

What is a ReAct agent?

ReAct (Reason + Act) is an agent pattern where the LLM alternates between reasoning about what to do next (Think) and taking actions (calling tools). Unlike a simple chain, the agent can adapt mid-execution — if a tool returns unexpected results, it adjusts its strategy. This makes it more flexible than fixed pipelines for open-ended queries.

Does it connect to a real Jira instance?

The agent supports both a mock Jira dataset (20 tickets across 5 sprints) and live Jira API access via PAT authentication. The mock data mode is the default for demos and testing. Live Jira mode can be configured in the settings.

What kind of queries can I ask?

Anything a BA or Scrum Master would typically do manually: filter by priority, find unassigned work, calculate sprint velocity, search for related tickets, generate backlog health reports, and identify workload imbalances. The agent picks the right combination of tools automatically.

Can I see the agent's reasoning?

Yes. Every response includes an "Agent Thought Process" expander that shows the full Think → Act → Observe trace. You can see which tools the agent considered, which it chose, what each tool returned, and how the agent synthesized the final answer.

Is the agent accurate?

The agent operates on structured ticket data, not free text — so the metrics and filters are deterministic. The LLM's role is deciding which tools to call and synthesizing the results. The 119-test suite (87% coverage) verifies tool correctness, agent routing, and edge cases.

Ready to triage your backlog with AI?

Free. No login. Ask your backlog questions in plain English and get structured analysis in seconds.

Try BA Jira Agent Free →