|
|
||
|---|---|---|
| backend | ||
| frontend/static | ||
| README.md | ||
| docker-compose.yml | ||
README.md
🎫 TicketHub
Lightweight open-source ticket/issue tracking system with webhook support.
Features
- Projects - Organize tickets by project with unique keys (e.g., PROJ-123)
- Tickets - Create, update, and track issues with status and priority
- Comments - Add comments to tickets for collaboration
- Webhooks - Trigger external systems on ticket events
- Simple - SQLite database, no complex setup required
Quick Start
Docker
docker-compose up -d
Access at http://localhost:8080
Manual
cd backend
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8000
API Endpoints
Projects
GET /api/projects- List all projectsPOST /api/projects- Create projectGET /api/projects/{id}- Get projectDELETE /api/projects/{id}- Delete project
Tickets
GET /api/tickets- List tickets (filter byproject_id,status)POST /api/tickets- Create ticketGET /api/tickets/{id}- Get ticketGET /api/tickets/key/{key}- Get ticket by key (e.g., PROJ-123)PATCH /api/tickets/{id}- Update ticketDELETE /api/tickets/{id}- Delete ticket
Comments
GET /api/tickets/{id}/comments- List commentsPOST /api/tickets/{id}/comments- Add comment
Webhooks
GET /api/webhooks- List webhooksPOST /api/webhooks- Create webhookDELETE /api/webhooks/{id}- Delete webhookPATCH /api/webhooks/{id}/toggle- Enable/disable webhook
Webhook Events
When configured, TicketHub sends POST requests to your webhook URL:
{
"event": "ticket.created",
"timestamp": "2026-02-18T12:00:00Z",
"data": {
"id": 1,
"key": "PROJ-1",
"title": "Issue title",
"description": "...",
"status": "open",
"priority": "medium"
}
}
Events: ticket.created, ticket.updated, comment.added
Integration with JIRA AI Fixer
Configure webhook URL in your project pointing to JIRA AI Fixer:
https://jira-fixer.example.com/api/webhook/tickethub
License
MIT