jira_api / main.py
Rudraaaa76's picture
fixed issues
f397f69
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from api.auth_routes import router as auth_router
from api.jira_routes import router as jira_router
from api.intelligence_routes import router as intelligence_router
from api.webhook_routes import router as webhook_router
from config.settings import settings
import logging
# Configure logging
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
logger = logging.getLogger(__name__)
# Startup Checks
if settings.supabase_url and settings.supabase_key:
logger.info("Supabase Integration: ENABLED")
else:
logger.warning("Supabase Integration: DISABLED (Missing SUPABASE_URL or SUPABASE_KEY)")
# Create FastAPI app
app = FastAPI(
title="Enterprise Delivery & Workforce Intelligence API",
description="AI-powered enterprise intelligence system for engineering operations",
version="1.0.0",
debug=settings.debug
)
# Configure CORS
app.add_middleware(
CORSMiddleware,
allow_origins=["*"], # In production, specify actual origins
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# Include routers
app.include_router(auth_router)
app.include_router(jira_router)
app.include_router(intelligence_router)
app.include_router(webhook_router)
@app.get("/")
async def root():
"""Root endpoint"""
return {
"message": "Enterprise Delivery & Workforce Intelligence API",
"version": "1.0.0",
"status": "operational",
"authentication": {
"required": True,
"login_endpoint": "/auth/login",
"instructions": "POST your Jira credentials to /auth/login to receive an access token"
},
"endpoints": {
"auth": "/auth",
"jira": "/jira",
"intelligence": "/intelligence",
"docs": "/docs",
"redoc": "/redoc"
}
}
@app.get("/health")
async def health_check():
"""Health check endpoint"""
return {
"status": "healthy",
"timestamp": "2026-02-07T00:00:00Z"
}
if __name__ == "__main__":
import uvicorn
logger.info(f"Starting server on {settings.api_host}:{settings.api_port}")
uvicorn.run(
"main:app",
host=settings.api_host,
port=settings.api_port,
reload=settings.debug
)