jira-ai-fixer/ACCESS.md

3.4 KiB

JIRA AI Fixer v2.0 - Credenciais e Acesso

🌐 URLs

🔐 Credenciais Padrão

Primeira vez (criar conta):

POST https://jira-fixer.startdata.com.br/api/auth/register
{
  "email": "admin@startdata.com.br",
  "password": "JiraFixer2026!",
  "name": "Admin User"
}

Login:

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

Retorno: { "access_token": "..." }

Usar token:

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:

# 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

Gitea

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