A powerful analytics tool for visualizing and understanding Jira workflow metrics.
Jira Analyzer is a web application that provides insightful metrics and visualizations for Jira projects. It helps teams analyze their workflow efficiency by calculating and displaying key performance indicators derived from Jira issue data.
- JQL-Based Analysis: Filter issues using Jira Query Language (JQL) to focus on specific projects, teams, or time periods
- Saved Configurations: Create and save configurations for quick access to frequently used queries
- Comprehensive Metrics:
- Lead Time: Visualize how long issues take from creation to completion
- Throughput: Track completion rates over time
- WIP (Work in Progress): Monitor the number of issues in progress at any given time
- CFD (Cumulative Flow Diagram): Visualize workflow distribution and identify bottlenecks
- Cycle Time: Measure the time issues spend in specific workflow states
 
The application consists of:
- Frontend: Built with SolidJS and TailwindCSS, providing a responsive and intuitive user interface
- Backend: Python/FastAPI backend that interfaces with Jira's API and processes metrics
- Dockerized Deployment: Containerized setup with Docker Compose for easy deployment and development
- CI/CD: GitHub Actions workflows for continuous integration and deployment
This repository uses several tools to maintain code quality:
- yamlfmt: YAML formatting tool used to ensure consistent formatting of YAML files
- pre-commit: Hooks for code quality checks before committing
- ESLint/Ruff: Code linting for JavaScript/TypeScript and Python
- Playwright: End-to-end testing framework
- Docker and Docker Compose
- Jira instance with API access
- 
Clone this repository 
- 
Create a .envfile based on.env.examplewith your configuration settings
- 
Run the application: # Production mode docker-compose up -d # Development mode docker-compose -f docker-compose.dev.yml up -d 
- 
Access the application at http://localhost (or the port specified in your .envfile)
For development, the application provides:
- Hot-reloading for both frontend and backend
- Debugging ports for Python (5678) and Node.js (9229)
- Mock Jira API option for testing without a real Jira instance
# Start in development mode
docker-compose -f docker-compose.dev.yml up -d
# Run tests
make test
# Run E2E tests
make e2e-testsThis project is licensed under the terms in the LICENSE file.
- frontend/: SolidJS frontend application
- backend/: Python/FastAPI backend application
- e2e-tests/: End-to-end tests using Playwright
- Contains Test Performance Guidelines for optimizing test execution
 
- .github/: GitHub Actions workflows and configuration
- Contains detailed GitHub Actions documentation
 
The project includes comprehensive end-to-end tests using Playwright. These tests verify theapplication's functionality from a user's perspective.
We've implemented several optimizations to improve E2E test performance:
- Page Object Pattern: Using an optimized page object model that reduces timeouts and improves reliability
- Test Categorization: Tests are tagged as @slowor@fastto allow selective execution
- Reduced Wait Times: Consolidated wait operations and optimized verification steps
- Selective Screenshots: Taking screenshots only at critical points to reduce overhead
For more details, see the Test Performance Guidelines.
# Run all tests
make e2e-tests
# Run only fast tests
cd e2e-tests && npx playwright test --grep-invert "@slow"
# Run only slow tests
cd e2e-tests && npx playwright test --grep "@slow"
# Run tests with visual feedback
cd e2e-tests && npx playwright test --headed