jira_api / README.md
Rudraaaa76's picture
Intial commit for HF deployment
c2cb41b
metadata
title: Enterprise Delivery & Workforce Intelligence API
emoji: πŸš€
colorFrom: blue
colorTo: purple
sdk: docker
pinned: false
license: mit

Enterprise Delivery & Workforce Intelligence API

Overview

AI-powered enterprise intelligence system that converts raw engineering activity from Jira (and GitHub) into meaningful business-level insights.

Features

πŸ“Š Data Integration

  • Jira Integration: Fetch issues, sprints, worklogs, team members, and project data
  • GitHub Integration: (Coming soon - handled by frontend team)

🧠 Intelligence & Analytics

  • Delivery Health Metrics: Track velocity, completion rates, cycle time, and sprint health
  • Productivity Metrics: Monitor individual and team productivity, utilization, and efficiency
  • Cost Efficiency Analysis: Calculate cost per feature, story point, and identify waste
  • Risk Alerts: Automated detection of delivery delays, resource issues, and cost overruns
  • AI Insights: Generate actionable recommendations based on engineering data

🎯 Business Impact

  • Predict delivery delays early
  • Optimize workforce allocation
  • Identify cost inefficiencies
  • Data-driven decision making for engineering leaders

Project Structure

backend/
β”œβ”€β”€ api/                      # FastAPI route handlers
β”‚   β”œβ”€β”€ jira_routes.py       # Jira data endpoints
β”‚   β”œβ”€β”€ intelligence_routes.py # Intelligence & metrics endpoints
β”‚   └── __init__.py
β”œβ”€β”€ config/                  # Configuration management
β”‚   β”œβ”€β”€ settings.py         # Environment settings
β”‚   └── __init__.py
β”œβ”€β”€ integrations/           # External API integrations
β”‚   β”œβ”€β”€ jira_service.py    # Jira API client
β”‚   └── __init__.py
β”œβ”€β”€ models/                 # Data models (Pydantic)
β”‚   β”œβ”€β”€ jira_models.py     # Jira domain models
β”‚   β”œβ”€β”€ intelligence_models.py # Intelligence metrics models
β”‚   └── __init__.py
β”œβ”€β”€ services/              # Business logic
β”‚   β”œβ”€β”€ intelligence_service.py # Analytics & insights generation
β”‚   └── __init__.py
β”œβ”€β”€ main.py               # FastAPI application entry point
β”œβ”€β”€ requirements.txt      # Python dependencies
β”œβ”€β”€ .env.example         # Environment variables template
└── README.md           # This file

Setup Instructions

Prerequisites

  • Python 3.9+
  • Jira account with API access
  • Jira API token (Get it here)

Installation

  1. Clone the repository (if not already done)

    cd d:\Datathon\backend
    
  2. Create virtual environment

    python -m venv venv
    venv\Scripts\activate  # On Windows
    # source venv/bin/activate  # On Linux/Mac
    
  3. Install dependencies

    pip install -r requirements.txt
    
  4. Configure environment variables

    copy .env.example .env
    

    Edit .env with your credentials:

    JIRA_SERVER_URL=https://your-domain.atlassian.net
    JIRA_EMAIL=your-email@example.com
    JIRA_API_TOKEN=your_jira_api_token
    SECRET_KEY=your-secret-key-here
    
  5. Run the application

    python main.py
    

    Or using uvicorn directly:

    uvicorn main:app --reload --host 0.0.0.0 --port 8000
    
  6. Access the API

API Endpoints

Jira Data Endpoints

Get All Projects

GET /jira/projects

Get Project Issues

GET /jira/projects/{project_key}/issues?start_date=2026-01-01&end_date=2026-02-07&max_results=100

Get Boards

GET /jira/boards

Get Sprints for Board

GET /jira/boards/{board_id}/sprints

Get Active Sprint

GET /jira/boards/{board_id}/active-sprint

Get Sprint Issues

GET /jira/sprints/{sprint_id}/issues

Get Team Members

GET /jira/projects/{project_key}/team-members

Get Worklogs

GET /jira/projects/{project_key}/worklogs?start_date=2026-01-01&end_date=2026-02-07

Intelligence Endpoints

Get Delivery Health Metrics

GET /intelligence/delivery-health/{project_key}?start_date=2026-01-01&end_date=2026-02-07
GET /intelligence/delivery-health/{project_key}?board_id=1&sprint_id=10

Response:

{
  "sprint_name": "Sprint 1",
  "period_start": "2026-01-01",
  "period_end": "2026-02-07",
  "completed_story_points": 45.0,
  "velocity": 45.0,
  "completion_rate": 85.5,
  "avg_cycle_time_hours": 12.5,
  "health_score": 82.3,
  "blocked_issues_count": 2
}

Get Productivity Metrics

GET /intelligence/productivity/{project_key}?start_date=2026-01-01&end_date=2026-02-07

Response:

[
  {
    "team_member_name": "John Doe",
    "issues_completed": 8,
    "story_points_completed": 21.0,
    "total_hours_logged": 80.0,
    "productivity_score": 78.5,
    "utilization_rate": 90.0
  }
]

Get Cost Efficiency Metrics

GET /intelligence/cost-efficiency/{project_key}?start_date=2026-01-01&avg_hourly_rate=75

Response:

{
  "total_hours_logged": 320.0,
  "estimated_cost": 24000.0,
  "features_delivered": 15,
  "cost_per_feature": 1600.0,
  "cost_per_story_point": 533.33,
  "waste_percentage": 8.5
}

Get Risk Alerts

GET /intelligence/risk-alerts/{project_key}?start_date=2026-01-01

Response:

[
  {
    "alert_type": "delivery_delay",
    "severity": "high",
    "title": "Low Completion Rate",
    "description": "Only 45.0% of planned work is completed.",
    "suggested_action": "Reduce scope or extend timeline to meet commitments."
  }
]

Get AI Insights

GET /intelligence/insights/{project_key}?start_date=2026-01-01

Response:

[
  {
    "category": "delivery",
    "title": "Velocity Analysis",
    "description": "Team completed 45.0 story points with 85.5% completion rate.",
    "confidence_score": 0.85,
    "impact_level": "medium",
    "recommendations": [
      "Maintain current sprint planning strategy",
      "Consider increasing capacity for higher throughput"
    ]
  }
]

Get Complete Dashboard

GET /intelligence/dashboard/{project_key}?start_date=2026-01-01&end_date=2026-02-07

Response includes all metrics:

  • Delivery health
  • Productivity metrics for all team members
  • Cost efficiency
  • Risk alerts
  • AI insights

Usage Examples

Example 1: Monitor Sprint Health

import requests

# Get active sprint
response = requests.get(
    "http://localhost:8000/jira/boards/1/active-sprint"
)
sprint = response.json()

# Get delivery health for that sprint
response = requests.get(
    f"http://localhost:8000/intelligence/delivery-health/PROJ",
    params={
        "board_id": 1,
        "sprint_id": sprint["sprint_id"]
    }
)
health = response.json()
print(f"Sprint Health Score: {health['health_score']}/100")

Example 2: Team Productivity Report

import requests

response = requests.get(
    "http://localhost:8000/intelligence/productivity/PROJ",
    params={
        "start_date": "2026-01-01",
        "end_date": "2026-02-07"
    }
)

for member in response.json():
    print(f"{member['team_member_name']}: {member['productivity_score']}/100")

Example 3: Cost Analysis

import requests

response = requests.get(
    "http://localhost:8000/intelligence/cost-efficiency/PROJ",
    params={
        "start_date": "2026-01-01",
        "avg_hourly_rate": 80
    }
)

cost = response.json()
print(f"Cost per Story Point: ${cost['cost_per_story_point']:.2f}")
print(f"Waste: {cost['waste_percentage']:.1f}%")

Integration with Frontend

The frontend team working on GitHub integration can consume these endpoints:

  1. Dashboard View: Use /intelligence/dashboard/{project_key} for comprehensive data
  2. Real-time Alerts: Poll /intelligence/risk-alerts/{project_key} for updates
  3. Team Performance: Display /intelligence/productivity/{project_key} data

Future Enhancements

  • GitHub integration for code metrics
  • Real-time websocket updates
  • Historical trend analysis
  • Machine learning predictions
  • Custom metric definitions
  • Team capacity planning
  • Automated reporting

Troubleshooting

Common Issues

401 Unauthorized Error

  • Check Jira API token is valid
  • Verify email and server URL in .env

No data returned

  • Ensure project key is correct
  • Check date ranges are valid
  • Verify you have access to the Jira project

Import errors

  • Activate virtual environment
  • Run pip install -r requirements.txt

Contributing

This is an MVP for a datathon. Focus areas:

  1. Jira data accuracy
  2. Intelligence algorithm improvements
  3. API performance optimization

License

MIT License - Datathon 2026


Built for: AI-Driven Enterprise Delivery & Workforce Intelligence Team: Backend (Jira) + Frontend (GitHub) Date: February 2026