A web application for visualizing and interacting with JIRA issue hierarchies with support for RFEs, STRATs, Epics, and Tasks.
jira-dashboard-configs/
├── jira_hierarchy/ # Main package
│ ├── __init__.py # Package initialization
│ ├── config.py # Configuration management
│ ├── jira_client.py # JIRA REST API client
│ ├── data_fetcher.py # Data fetching and hierarchy building
│ ├── sse.py # Server-Sent Events utilities
│ └── server.py # HTTP server and request handlers
├── static/ # Static files
│ └── jira-hierarchy-viewer.html # Web UI
├── jira-hierarchy-server.py # Entry point script
└── README.md # This file
- Real-time streaming: Uses Server-Sent Events (SSE) for progressive loading
- Hierarchical view: Displays RFE → STRAT → Epic → Task relationships
- Interactive UI: Expandable tree view with sorting and filtering
- Issue details: View descriptions, comments, labels, components, and dates
- Create issues: Create Epics and Tasks directly from the UI
- Add comments: Comment on issues without leaving the viewer
- Python 3.7+
- JIRA Personal Access Token (PAT)
-
Install dependencies:
pip install requests
-
Set your JIRA Personal Access Token:
export JIRA_PAT='your-personal-access-token'
To create a PAT:
- Go to: https://issues.redhat.com/secure/ViewProfile.jspa
- Click 'Personal Access Tokens' in the left sidebar
- Click 'Create token'
- Give it a name and click 'Create'
- Copy the token and set it as JIRA_PAT
-
Optional: Configure custom port
export PORT=8080
python3 jira-hierarchy-server.pyThe browser will automatically open to http://localhost:8000
Command line options:
--no-browser: Skip automatically opening the browser (useful if you already have the page open)
# Skip opening browser
python3 jira-hierarchy-server.py --no-browserEnvironment variables:
JIRA_PAT: Personal Access Token (required)JIRA_URL: JIRA base URL (default: https://issues.redhat.com)PORT: Server port (default: 8000)HOST: Server host (default: '' = all interfaces)
- config.py: Manages environment variables and configuration
- jira_client.py: Low-level JIRA API wrapper (queries, issue creation, comments)
- data_fetcher.py: High-level data fetching logic (building hierarchies)
- sse.py: Server-Sent Events implementation for real-time streaming
- server.py: HTTP server with request routing and handlers
- New JIRA API calls: Add to
jira_client.py - New data fetching logic: Add to
data_fetcher.py - New HTTP endpoints: Add to
server.py - New UI features: Modify
static/jira-hierarchy-viewer.html
GET /- Serve the HTML viewerGET /api/hierarchy/stream- Stream hierarchy data (SSE)GET /health- Health checkPOST /api/create-epic- Create a new EpicPOST /api/create-task- Create a new TaskPOST /api/add-comment- Add a comment to an issue