Testar grátis
10 min leitura Guide 746 of 877

Integração de Controle de Versão com GitScrum

Desenvolvimento e gerenciamento de projetos devem estar conectados, não isolados. O GitScrum integra com sistemas de controle de versão para fornecer rastreabilidade do código à tarefa.

Benefícios da Integração

Por Que Conectar VCS ao GitScrum

VALOR DA INTEGRAÇÃO DE CONTROLE DE VERSÃO:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ SEM INTEGRAÇÃO:                                             │
│                                                             │
│ "Qual código mudou para essa feature?"                     │
│ → Buscar através dos commits manualmente                   │
│                                                             │
│ "Essa tarefa está realmente pronta?"                       │
│ → Perguntar ao desenvolvedor, checar repo manualmente      │
│                                                             │
│ "Quem pode revisar isso?"                                  │
│ → Tarefa no GitScrum, PR no GitHub, sem conexão           │
│                                                             │
│ "Qual o status desse PR?"                                  │
│ → Checar GitHub, depois atualizar GitScrum manualmente    │
│                                                             │
│ ─────────────────────────────────────────────────────────── │
│                                                             │
│ COM INTEGRAÇÃO:                                             │
│                                                             │
│ RASTREABILIDADE:                                            │
│ Tarefa ↔ Branch ↔ Commits ↔ PR ↔ Deploy                   │
│ Trilha de auditoria completa                               │
│                                                             │
│ AUTOMAÇÃO:                                                  │
│ PR aberto → Tarefa move para "Em Review"                  │
│ PR mergeado → Tarefa move para "Done"                     │
│                                                             │
│ CONTEXTO:                                                   │
│ Da tarefa, veja todo código relacionado                   │
│ Do PR, veja contexto e requisitos da tarefa               │
│                                                             │
│ VISIBILIDADE:                                               │
│ Progresso real baseado no estado atual do código          │
│ Não apenas o que pessoas dizem que fizeram                │
└─────────────────────────────────────────────────────────────┘

Configurando Integração

Integração com GitHub

CONECTANDO GITHUB:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ PASSOS DE SETUP:                                            │
│                                                             │
│ 1. Vá para GitScrum Settings → Integrations               │
│ 2. Selecione GitHub                                        │
│ 3. Autorize GitScrum a acessar seus repos                 │
│ 4. Selecione repositórios para conectar                   │
│ 5. Configure regras de automação                          │
│                                                             │
│ OPÇÕES DE AUTOMAÇÃO:                                        │
│                                                             │
│ ☑ Vincular commits contendo task ID                       │
│ ☑ Vincular branches contendo task ID                      │
│ ☑ Vincular PRs contendo task ID                           │
│ ☑ Mover tarefa para "In Review" quando PR aberto         │
│ ☑ Mover tarefa para "Done" quando PR mergeado            │
│ ☐ Criar tarefa a partir de GitHub issue                   │
│                                                             │
│ ─────────────────────────────────────────────────────────── │
│                                                             │
│ PADRÕES DE TASK ID:                                         │
│                                                             │
│ Reconhecido em:                                             │
│ • Mensagens de commit: "fix: resolve login issue PROJ-123"│
│ • Nomes de branch: feature/PROJ-123-add-export           │
│ • Títulos de PR: "[PROJ-123] Add export feature"         │
│ • Corpo do PR: "Closes PROJ-123"                          │
│                                                             │
│ Formato: PROJETO-NÚMERO (ex: PROJ-123, API-456)           │
└─────────────────────────────────────────────────────────────┘

Convenção de Nomenclatura de Branch

BOAS PRÁTICAS DE NOMENCLATURA DE BRANCH:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ FORMATO:                                                    │
│ tipo/TASK-ID-descricao-curta                               │
│                                                             │
│ EXEMPLOS:                                                   │
│ feature/PROJ-123-add-export-csv                           │
│ bugfix/PROJ-456-fix-login-timeout                         │
│ hotfix/PROJ-789-security-patch                            │
│ chore/PROJ-101-update-dependencies                        │
│                                                             │
│ TIPOS:                                                      │
│ feature/  - Nova funcionalidade                            │
│ bugfix/   - Correção de bug                                │
│ hotfix/   - Correção urgente de produção                  │
│ chore/    - Tarefa de manutenção                          │
│ docs/     - Documentação                                   │
│ refactor/ - Refatoração de código                         │
│                                                             │
│ VINCULAÇÃO AUTOMÁTICA GITSCRUM:                            │
│                                                             │
│ Branch: feature/PROJ-123-add-export                       │
│                    ↓                                       │
│ Automaticamente vincula à tarefa PROJ-123                 │
│                    ↓                                       │
│ Visível na tarefa: "Branch criado"                        │
│                    ↓                                       │
│ PR linkado automaticamente quando criado                  │
└─────────────────────────────────────────────────────────────┘

Integração com GitLab

CONECTANDO GITLAB:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ PASSOS DE SETUP:                                            │
│                                                             │
│ 1. Vá para GitScrum Settings → Integrations               │
│ 2. Selecione GitLab                                        │
│ 3. Gere um Personal Access Token no GitLab               │
│ 4. Cole o token no GitScrum                               │
│ 5. Selecione projetos para conectar                       │
│ 6. Configure webhooks (automático ou manual)              │
│                                                             │
│ PERMISSÕES NECESSÁRIAS:                                     │
│                                                             │
│ Token precisa de:                                           │
│ ├── api (acesso completo à API)                           │
│ ├── read_repository                                        │
│ ├── write_repository (para status)                        │
│ └── read_user                                              │
│                                                             │
│ CONFIGURAÇÃO DE WEBHOOK:                                    │
│                                                             │
│ GitLab Project → Settings → Webhooks                      │
│ URL: [fornecida pelo GitScrum]                            │
│ Triggers:                                                   │
│ ├── Push events                                            │
│ ├── Merge request events                                   │
│ └── Pipeline events (opcional)                            │
└─────────────────────────────────────────────────────────────┘

Workflow Integrado

Fluxo Completo de Desenvolvimento

WORKFLOW INTEGRADO:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ 1. CRIAÇÃO DA TAREFA:                                       │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ PROJ-123: Implementar exportação CSV                   ││
│ │ Status: To Do                                          ││
│ │ Assignee: Maria                                        ││
│ └─────────────────────────────────────────────────────────┘│
│                    ↓                                       │
│ 2. CRIAR BRANCH:                                            │
│ git checkout -b feature/PROJ-123-export-csv               │
│                                                             │
│ → GitScrum: "Branch criado para PROJ-123"                 │
│ → Status automaticamente: In Progress                     │
│                    ↓                                       │
│ 3. DESENVOLVIMENTO E COMMITS:                               │
│ git commit -m "feat: add CSV export PROJ-123"             │
│ git commit -m "test: add export tests PROJ-123"           │
│                                                             │
│ → GitScrum: Commits listados na tarefa                    │
│ → Timeline atualizada automaticamente                     │
│                    ↓                                       │
│ 4. ABRIR PR:                                                │
│ PR Title: [PROJ-123] Add CSV export functionality        │
│ PR Body: Closes PROJ-123                                  │
│                                                             │
│ → GitScrum: "PR #45 aberto para PROJ-123"                │
│ → Status automaticamente: In Review                       │
│                    ↓                                       │
│ 5. CODE REVIEW:                                             │
│ Reviewers comentam no GitHub                              │
│                                                             │
│ → GitScrum: Link direto para o PR                         │
│ → Contexto disponível para reviewer                       │
│                    ↓                                       │
│ 6. MERGE:                                                   │
│ PR mergeado na main                                       │
│                                                             │
│ → GitScrum: "PR #45 mergeado"                             │
│ → Status automaticamente: Done                            │
│ → Tempo de ciclo calculado                                │
└─────────────────────────────────────────────────────────────┘

Visibilidade para Todo o Time

O QUE CADA PESSOA VÊ
════════════════════

DESENVOLVEDOR:
─────────────────────────────────────
Na tarefa GitScrum:
├── Requisitos claros
├── Critérios de aceitação
├── Histórico de decisões
├── Seus commits listados
├── Status do PR
└── Feedback do review

No GitHub/GitLab:
├── Link de volta para tarefa
├── Contexto do que implementar
├── Quem está esperando
└── Definition of Done

PRODUCT OWNER:
─────────────────────────────────────
No GitScrum:
├── Status real (baseado em código)
├── Quem está trabalhando no que
├── Progresso do sprint
├── O que foi deployado
└── Histórico completo

Não precisa perguntar:
├── "Está pronto?"
├── "Quando termina?"
├── "Quem está fazendo?"
└── Tudo visível no board

TECH LEAD:
─────────────────────────────────────
Visão de:
├── PRs pendentes
├── Tarefas bloqueadas
├── Cycle time por tarefa
├── Throughput do time
├── Código linkado para auditoria
└── Padrões de desenvolvimento

Configurações Avançadas

Automações Customizadas

REGRAS DE AUTOMAÇÃO
═══════════════════

GATILHOS DISPONÍVEIS:
─────────────────────────────────────
├── Commit pushed
├── Branch created
├── PR opened
├── PR approved
├── PR changes requested
├── PR merged
├── PR closed (sem merge)
└── Build status changed

AÇÕES DISPONÍVEIS:
─────────────────────────────────────
├── Mover tarefa para coluna
├── Adicionar label
├── Remover label
├── Atribuir a pessoa
├── Adicionar comentário
├── Enviar notificação
└── Atualizar campo customizado

EXEMPLOS DE REGRAS:
─────────────────────────────────────
Regra 1:
SE: PR opened
ENTÃO: Mover tarefa para "In Review"

Regra 2:
SE: PR changes requested
ENTÃO: Mover tarefa de volta para "In Progress"
       Adicionar label "needs-revision"

Regra 3:
SE: PR merged para main
ENTÃO: Mover tarefa para "Done"
       Remover todas as labels de WIP

Regra 4:
SE: Build failed
ENTÃO: Adicionar label "build-failed"
       Notificar assignee

Múltiplos Repositórios

GERENCIANDO MÚLTIPLOS REPOS
═══════════════════════════

CENÁRIO:
─────────────────────────────────────
Projeto com:
├── repo-frontend (React)
├── repo-backend (Node.js)
├── repo-mobile (React Native)
└── repo-infra (Terraform)

CONFIGURAÇÃO:
─────────────────────────────────────
GitScrum Project → Integrations:
├── Conectar todos os repos
├── Mesmo padrão de task ID
├── Automações por repo se necessário
└── Visão unificada na tarefa

USO:
─────────────────────────────────────
Tarefa PROJ-123 pode ter:
├── Branch no frontend
├── Branch no backend
├── PR no frontend
├── PR no backend
└── Todos listados na mesma tarefa

VISIBILIDADE:
─────────────────────────────────────
Na tarefa GitScrum:
┌─────────────────────────────────┐
│ PROJ-123: Nova funcionalidade  │
│                                 │
│ Branches:                       │
│ • frontend: feature/PROJ-123   │
│ • backend: feature/PROJ-123    │
│                                 │
│ Pull Requests:                  │
│ • frontend PR #45 ✓ merged     │
│ • backend PR #89 🔄 in review  │
│                                 │
│ Status: Aguardando backend PR  │
└─────────────────────────────────┘

Métricas e Relatórios

Métricas de Desenvolvimento

MÉTRICAS DA INTEGRAÇÃO
══════════════════════

CYCLE TIME:
─────────────────────────────────────
Tarefa criada → PR mergeado
├── Dados reais do Git
├── Não estimativa
├── Por tarefa/tipo/desenvolvedor
└── Tendência ao longo do tempo

LEAD TIME:
─────────────────────────────────────
Backlog → Produção
├── Inclui tempo de espera
├── Visibilidade de gargalos
├── Comparação entre sprints
└── Identificar melhorias

PR METRICS:
─────────────────────────────────────
├── Tempo até primeira review
├── Tempo até merge
├── Número de revisões
├── PRs pendentes por pessoa
└── Tamanho médio de PR

DEPLOYMENT FREQUENCY:
─────────────────────────────────────
Se integrado com CI/CD:
├── Deploys por dia/semana
├── Taxa de sucesso
├── Tempo de rollback
└── Features deployadas

Dashboard de Desenvolvimento

VISUALIZAÇÃO INTEGRADA
══════════════════════

SPRINT VIEW:
─────────────────────────────────────
┌───────────────────────────────────────────────────────┐
│ Sprint 15 - Development Status                       │
├───────────────────────────────────────────────────────┤
│                                                       │
│ Tasks: 12 total                                       │
│ ■■■■■■■■□□□□  8 Done  3 In Progress  1 To Do        │
│                                                       │
│ Pull Requests:                                        │
│ • 5 merged                                           │
│ • 2 in review (Maria, João)                          │
│ • 1 changes requested (Carlos)                       │
│                                                       │
│ Average Cycle Time: 2.3 days                         │
│ PRs Waiting Review: 2 (> 24h: 0)                    │
│                                                       │
│ Commits This Sprint: 47                              │
│ Top Contributors: Maria (18), João (15), Carlos (14)│
└───────────────────────────────────────────────────────┘

DEVELOPER VIEW:
─────────────────────────────────────
┌─────────────────────────────────┐
│ Maria - Sprint 15               │
├─────────────────────────────────┤
│ Tasks: 4                        │
│ ├── 2 Done                      │
│ ├── 1 In Review (PR #45)       │
│ └── 1 In Progress              │
│                                 │
│ PRs: 3 created, 2 merged       │
│ Reviews: 5 completed            │
│ Commits: 18                     │
│ Avg cycle time: 1.8 days       │
└─────────────────────────────────┘

Solução de Problemas

Problemas Comuns

TROUBLESHOOTING
═══════════════

COMMITS NÃO LINKANDO:
─────────────────────────────────────
Verificar:
├── Task ID no formato correto?
├── Integração ativa?
├── Repo conectado?
├── Webhook configurado?
└── Permissões corretas?

Solução:
├── Conferir padrão: PROJ-123
├── Reconectar integração
├── Verificar logs de webhook
└── Testar com novo commit

PR NÃO MOVENDO TAREFA:
─────────────────────────────────────
Verificar:
├── Task ID no título ou body?
├── Automação configurada?
├── Coluna destino existe?
├── Tarefa pode mover para lá?
└── Permissões de webhook?

Solução:
├── Adicionar ID no PR
├── Verificar regras de automação
├── Mover manualmente se urgente
└── Debug webhook response

DUPLICAÇÃO DE EVENTOS:
─────────────────────────────────────
Causa: Múltiplos webhooks
Solução:
├── Remover webhooks duplicados
├── Um webhook por repo
├── Verificar GitLab/GitHub settings
└── Limpar e reconfigurar

Artigos Relacionados