# JIRA AI Fixer v2.0 - Credenciais e Acesso

## 🌐 URLs

- **Frontend:** https://jira-fixer.startdata.com.br
- **API:** https://jira-fixer.startdata.com.br/api
- **Repositório:** https://gitea.startdata.com.br/startdata/jira-ai-fixer

## 🔐 Credenciais Padrão

### Primeira vez (criar conta):
```bash
POST https://jira-fixer.startdata.com.br/api/auth/register
{
  "email": "admin@startdata.com.br",
  "password": "JiraFixer2026!",
  "name": "Admin User"
}
```

### Login:
```bash
POST https://jira-fixer.startdata.com.br/api/auth/login
{
  "email": "admin@startdata.com.br",
  "password": "JiraFixer2026!"
}
```

**Retorno:** `{ "access_token": "..." }`

### Usar token:
```bash
curl -H "Authorization: Bearer YOUR_TOKEN" https://jira-fixer.startdata.com.br/api/issues
```

## 📊 Banco de Dados

- **Type:** PostgreSQL 15
- **Host:** postgres_database (internal Docker network)
- **Port:** 5432
- **Database:** jira_fixer_v2
- **User:** postgres
- **Password:** postgres

**Connection string:**
```
postgresql+asyncpg://postgres:postgres@postgres_database:5432/jira_fixer_v2
```

## 🧪 Teste End-to-End

### Cenário: Bug no COBOL → Análise AI → Fix automático

1. **Repo de teste:** https://gitea.startdata.com.br/startdata/cobol-sample-app
2. **Bug introduzido:** `src/cobol/VALIDATE.CBL` - aceita cartões com 10+ dígitos ao invés de exatamente 16
3. **Ticket criado:** TicketHub SUPP-6

### Fluxo esperado:

```bash
# 1. Criar issue no JIRA Fixer
curl -X POST https://jira-fixer.startdata.com.br/api/issues \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Card validation accepts invalid card numbers",
    "description": "VALIDATE.CBL accepts cards with >= 10 digits instead of exactly 16",
    "source": "tickethub",
    "external_key": "SUPP-6",
    "external_url": "https://tickethub.startdata.com.br/tickets/6",
    "priority": "high"
  }'

# 2. AI analisa automaticamente (background task)
# - Identifica arquivo: src/cobol/VALIDATE.CBL
# - Root cause: >= 10 ao invés de = 16
# - Confiança: ~95%

# 3. Se confiança >= 70%, cria PR automaticamente
# - Fork/branch: fix/SUPP-6-auto-fix
# - Commit: correção da validação
# - PR no Gitea

# 4. Atualiza ticket TicketHub
PATCH https://tickethub.startdata.com.br/api/tickets/6 \
  -d '{
    "status": "in_progress",
    "description": "AI analysis complete. PR created: [link]"
  }'
```

## ⚙️ Integrações

### TicketHub
- **URL:** https://tickethub.startdata.com.br
- **Webhook:** `https://jira-fixer.startdata.com.br/api/webhooks/tickethub`
- **Project:** SUPP (ID: 1)

### Gitea
- **URL:** https://gitea.startdata.com.br
- **Token:** (configurar em Settings → API Keys)
- **Repo de teste:** startdata/cobol-sample-app

### AI Model
- **Provider:** OpenRouter
- **Model:** claude-3.5-sonnet / llama-3.3-70b-instruct
- **API Key:** (variável de ambiente OPENROUTER_API_KEY)

## 🚨 Status Atual (2026-02-18)

**Frontend:** ✅ Deployado e funcional  
**Backend API:** ⚠️ Stack precisa ser atualizado para incluir serviço API Python

### Próximo passo para completar deploy:
1. Atualizar stack 308 para incluir serviço `api` (Python FastAPI)
2. Configurar DB connection string
3. Configurar OPENROUTER_API_KEY
4. Testar registro/login
5. Executar teste end-to-end

## 📝 Notas

- Frontend é SPA React, serve via nginx
- Backend é FastAPI async com PostgreSQL
- Análise AI roda em background tasks
- PR creation usa Gitea API
- Webhooks bidirecional com TicketHub
