Case: dashboards de SLA com Jira, Azure e GitLab
Case: dashboards de SLA com Jira, Azure e GitLab
Contexto e problema
Clientes precisavam de relatórios de SLA e dashboards operacionais, mas o Jira nativo não entregava visualizações no formato exigido. Azure DevOps e GitLab tinham dados complementares, porém dispersos. Resultado: extrações manuais demoradas, pouca previsibilidade e alertas chegando tarde.
O que foi construído
- App Rails 8 com schemas separados (
jira,gestao,gitlab) para organizar ingestão e cálculos. - Dashboards por cliente (acompanhamento/priorização, criados vs. resolvidos, aging/bloqueados) e painéis de iteração/velocidade do Azure.
- Relatórios em PDF/XLSX gerados on-demand e em lote, com filtros por cliente e período.
- Monitores de SLA e saúde de serviços com notificações (Discord/Teams) e logs de webhooks consultáveis.
- Orquestração de jobs com Solid Queue, painel Mission Control Jobs e cron via
recurring.yml.
Arquitetura (diagrama simplificado)
flowchart LR
Jira[Jira API/Webhooks] --> IngestJira[Ingest Jira\nschema=jira]
Azure[Azure DevOps API/Webhooks] --> IngestAzure[Ingest Azure\nschema=gestao]
GitLab[GitLab API] --> IngestGitlab[Ingest GitLab\nschema=gitlab]
IngestJira --> Jobs[Solid Queue Jobs\ncron + ad-hoc]
IngestAzure --> Jobs
IngestGitlab --> Jobs
Jobs --> Dash[Dashboards SLA\nAging/Backlog/SLA]
Jobs --> Reports[PDF/XLSX Reports]
Jobs --> Alerts[Notificacoes SLA\nDiscord/Teams]
Dash --> Users[Clientes e Operacao]
Reports --> Users
Alerts --> Users
Operação e rastreabilidade
- Agendamentos via Solid Queue (cron declarada) e fallback em scheduler embutido; painel
/background-jobspara troubleshooting. - Logs de webhooks e filtros para aging/backlog; métricas por série histórica de criados vs. resolvidos.
- Healthchecks expostos e probes configuradas em K8s; deploy com assets pré-compilados e secrets via variáveis/credentials.
- Geração de relatórios roda isolada em jobs, liberando o app web para navegação.
Impacto observado (anonimizado)
- Corte de >50% no tempo gasto para gerar relatórios mensais de SLA.
- Queda de ~40% em alertas não tratados após consolidação de monitores e dashboards.
- Operação consegue responder mais rápido a aging/bloqueados porque Jira/Azure/GitLab estão numa visão única.
O que você pode reutilizar
- Separar schemas por fonte de dados para manter ingestão e cálculos organizados.
- Orquestrar jobs de coleta/cálculo com Solid Queue e painéis de jobs acessíveis.
- Oferecer dashboards + relatórios exportáveis (PDF/XLSX) com filtros por cliente/período.
- Enviar alertas de SLA e saúde de serviços para canais que a operação já usa (Discord/Teams).
Esta postagem está licenciada sob
CC BY 4.0
pelo autor.