89 lines
2.0 KiB
Markdown
89 lines
2.0 KiB
Markdown
# 🎫 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
|
|
|
|
```bash
|
|
docker-compose up -d
|
|
```
|
|
|
|
Access at http://localhost:8080
|
|
|
|
### Manual
|
|
|
|
```bash
|
|
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 projects
|
|
- `POST /api/projects` - Create project
|
|
- `GET /api/projects/{id}` - Get project
|
|
- `DELETE /api/projects/{id}` - Delete project
|
|
|
|
### Tickets
|
|
- `GET /api/tickets` - List tickets (filter by `project_id`, `status`)
|
|
- `POST /api/tickets` - Create ticket
|
|
- `GET /api/tickets/{id}` - Get ticket
|
|
- `GET /api/tickets/key/{key}` - Get ticket by key (e.g., PROJ-123)
|
|
- `PATCH /api/tickets/{id}` - Update ticket
|
|
- `DELETE /api/tickets/{id}` - Delete ticket
|
|
|
|
### Comments
|
|
- `GET /api/tickets/{id}/comments` - List comments
|
|
- `POST /api/tickets/{id}/comments` - Add comment
|
|
|
|
### Webhooks
|
|
- `GET /api/webhooks` - List webhooks
|
|
- `POST /api/webhooks` - Create webhook
|
|
- `DELETE /api/webhooks/{id}` - Delete webhook
|
|
- `PATCH /api/webhooks/{id}/toggle` - Enable/disable webhook
|
|
|
|
## Webhook Events
|
|
|
|
When configured, TicketHub sends POST requests to your webhook URL:
|
|
|
|
```json
|
|
{
|
|
"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
|