An intelligent, agentic "Cheer Dashboard" that connects to Jira and uses LangChain/LangGraph with LangSmith for tracing, testing, and monitoring.
This project uses a decoupled three-part architecture:
┌─────────────────┐
│ React Frontend │ (Port 3000)
│ (Vite + React)│
└────────┬────────┘
│
▼
┌─────────────────┐
│ Agent Server │ (Port 5002)
│ (LangChain + │
│ LangGraph + │
│ LangSmith) │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Jira Tool Server│ (Port 5001)
│ (Flask + Jira │
│ API) │
└────────┬────────┘
│
▼
┌────────┐
│ Jira │
└────────┘
- Frontend (React): Beautiful chat interface for user queries
- Agent Server (Python): LangChain/LangGraph agent with LLM (Ollama/Groq/Gemini) and LangSmith tracing
- Jira Tool Server (Python): Secure API that holds Jira credentials and executes JQL queries
- Python 3.9+
- Node.js 18+
- Jira account with API access
- LLM Provider (choose one):
- Ollama (recommended) - Free, runs locally, private
- Groq - Fast cloud API with free tier
- Together AI - Cloud API
- Google Gemini - Cloud API
- LangSmith account (free tier available)
git clone <your-repo-url>
cd AgentJiracd jira-tool-server
pip install -r requirements.txt
cp .env.example .env
# Edit .env with your Jira credentials
# Edit jira_client.py to replace YOUR_PROJECT with your Jira project key
python app.pycd ../agent-server
pip install -r requirements.txt
cp .env.example .env
# Edit .env with your LangSmith and Gemini API keys
python app.pycd ../frontend
npm install
npm run devNavigate to http://localhost:3000 and start chatting!
- Go to https://id.atlassian.com/manage-profile/security/api-tokens
- Click "Create API token"
- Copy the token to your
jira-tool-server/.envfile
- Go to https://makersuite.google.com/app/apikey
- Create a new API key
- Copy the key to your
agent-server/.envfile
- Go to https://smith.langchain.com
- Create a new project (e.g., "Jira-Cheer-Dashboard")
- Go to Settings → API Keys
- Create a new API key
- Copy the key to your
agent-server/.envfile
Try asking the AI assistant:
- "How many bugs do we have?"
- "What is Alice Smith working on?"
- "Show me our team progress this week"
- "How many critical bugs are there?"
- "What tasks does Bob Johnson have?"
All agent interactions are automatically traced in LangSmith:
- Go to https://smith.langchain.com
- Select your project
- View traces for each query
- Inspect tool calls, arguments, and responses
- Fork failing traces to create test cases
- Refine prompts and re-run tests
AgentJira/
├── jira-tool-server/ # Secure Jira API wrapper
│ ├── app.py # Flask application
│ ├── jira_client.py # Jira API client
│ ├── config.py # Configuration
│ └── requirements.txt # Python dependencies
│
├── agent-server/ # LangChain agent
│ ├── app.py # Flask application
│ ├── agent.py # LangGraph agent
│ ├── tools.py # LangChain tools
│ ├── config.py # Configuration
│ └── requirements.txt # Python dependencies
│
└── frontend/ # React UI
├── src/
│ ├── components/
│ │ └── JiraDashboard.jsx
│ ├── App.jsx
│ └── main.jsx
└── package.json
- Never commit
.envfiles - Keep API keys secure
- The Jira Tool Server should be behind authentication in production
- Consider rate limiting for production deployments
- Phase 1: Jira Tool Server
- Phase 2: LangChain Agent Server
- Phase 3: React Frontend
- Phase 4: LangSmith Testing & Refinement
- Streaming responses with SSE
- Message history persistence
- Additional Jira tools (create issues, update status)
- Multi-user support with authentication
MIT
Contributions welcome! Please read the contributing guidelines first.