6 min leitura • Guide 94 of 877
Conectando Commits do GitHub a Tarefas Automaticamente
Sem vinculação automática, developers devem atualizar tarefas manualmente quando código é committed, levando a status de tarefa desatualizado e contexto faltando. A integração GitHub do GitScrum conecta automaticamente commits e PRs a tarefas, fornecendo visibilidade em tempo real no progresso do código.
Benefícios de Integração
| Sem Integração | Com Integração |
|---|---|
| Updates manuais de status | Auto-update no PR |
| Sem visibilidade de código | Commits na tarefa |
| Informação duplicada | Fonte única de verdade |
| Contexto perdido | Histórico completo |
Processo de Setup
Instalação de App GitHub
SETUP DE INTEGRAÇÃO GITHUB
══════════════════════════
PASSO 1: Instalar App GitHub
─────────────────────────────────────
GitScrum Settings → Integrations → GitHub
Clicar "Install GitHub App"
Selecionar organização/repos
Autorizar permissões
PASSO 2: Configurar Repositórios
─────────────────────────────────────
Escolher repositórios para conectar
Mapear repos para projetos GitScrum
Definir comportamentos padrão
PASSO 3: Definir Regras de Vinculação
─────────────────────────────────────
Padrão ID tarefa: GS-[0-9]+
Padrão branch: feature/GS-[0-9]+-*
Auto-transição: Habilitado
PERMISSÕES OBRIGATÓRIAS:
├── Read repository contents
├── Read/write issues
├── Read/write pull requests
├── Read commit status
└── Webhooks
Mapeamento de Projeto
MAPEAMENTO REPOSITÓRIO → PROJETO
═════════════════════════════════
┌────────────────────────────────────────────────────────┐
│ Repositório GitHub │ Projeto GitScrum │
├────────────────────────────────────────────────────────┤
│ acme/frontend │ Website Acme │
│ acme/backend-api │ Website Acme │
│ acme/mobile-app │ App Mobile Acme │
│ acme/shared-libs │ (Todos projetos) │
└────────────────────────────────────────────────────────┘
PROJETO MULTI-REPO:
├── Múltiplos repos → um projeto
├── PRs mostram em tarefas relacionadas
└── Contexto através codebase
Vinculação de Commit
Formato de Mensagem de Commit
PADRÕES DE MENSAGEM DE COMMIT
═════════════════════════════
FORMATO PADRÃO:
GS-123: Breve descrição
EXEMPLOS:
─────────────────────────────────────
GS-456: Adicionar fluxo autenticação usuário
GS-456: Corrigir bug refresh token
GS-789: Atualizar estilos dashboard
─────────────────────────────────────
MÚLTIPLAS TAREFAS:
GS-123, GS-124: Refatoração compartilhada
COMMITS CONVENCIONAIS + TAREFA:
feat(auth): GS-123 adicionar suporte OAuth
fix(api): GS-456 lidar com resposta null
PADRÕES RECONHECIDOS:
├── GS-123
├── GS-123:
├── [GS-123]
├── (GS-123)
└── Fixes GS-123
O Que É Vinculado
DADOS VINCULADOS NA TAREFA
═══════════════════════════
VISÃO TAREFA:
┌─────────────────────────────────────────────────┐
│ Tarefa: GS-456 Implementar login usuário │
├─────────────────────────────────────────────────┤
│ Status: In Review │
├─────────────────────────────────────────────────┤
│ CÓDIGO │
│ ───── │
│ Branch: feature/GS-456-user-login │
│ │
│ Commits (3): │
│ ├── abc123: Setup auth inicial │
│ ├── def456: Adicionar validação senha │
│ └── ghi789: Corrigir casos extremos │
│ │
│ Pull Request: │
│ ├── #234: Adicionar autenticação usuário │
│ ├── Status: Review solicitado │
│ ├── Checks: ✓ Todos passando │
│ └── Reviews: 1/2 aprovado │
└─────────────────────────────────────────────────┘
Integração de Branch
Convenção de Nome de Branch
PADRÕES DE NOME DE BRANCH
═════════════════════════
FORMATO RECOMENDADO:
type/GS-[task-id]-brief-description
EXEMPLOS:
├── feature/GS-123-user-authentication
├── fix/GS-456-login-bug
├── chore/GS-789-update-dependencies
└── hotfix/GS-999-critical-fix
PADRÕES AUTO-DETECTADOS:
├── GS-123-*
├── feature/GS-123-*
├── */GS-123-*
└── GS-123/*
VINCULAÇÃO BRANCH → TAREFA:
├── Auto-cria link quando pushed
├── Mostra branch na tarefa
├── Rastreia status branch
└── Vincula para repo
Workflow de Criação de Branch
BRANCH DA TAREFA
═════════════════
DO GITSCRUM:
1. Abrir tarefa
2. Clicar "Create Branch"
3. Selecionar repositório
4. Branch auto-nomeado: feature/GS-123-task-title
5. Copiar comando git
6. Checkout localmente
COMANDO GIT FORNECIDO:
git checkout -b feature/GS-123-task-title
BENEFÍCIOS:
├── Nomenclatura consistente
├── Auto-vinculado imediatamente
├── Sem formatação manual
└── Menos erros de digitação
Integração de Pull Request
Vinculação de PR
VINCULAÇÃO DE PULL REQUEST
══════════════════════════
AUTO-VINCULA QUANDO:
├── Título PR contém GS-[id]
├── Branch PR contém GS-[id]
├── Descrição PR contém GS-[id]
└── Commits referenciam GS-[id]
TEMPLATE PR (recomendado):
─────────────────────────────────────
## Tarefa Relacionada
GS-123
## Mudanças
- Descrição das mudanças
## Testes
- Como testar
## Screenshots (se aplicável)
─────────────────────────────────────
Automação de Status
AUTOMAÇÃO STATUS PR → TAREFA
════════════════════════════
REGRA 1: PR Aberto
─────────────────────────────────────
Trigger: PR aberto com GS-[id]
Ação: Mover tarefa para "In Review"
Atribuir: Adicionar revisores PR como watchers
REGRA 2: PR Aprovado
─────────────────────────────────────
Trigger: Reviews obrigatórios aprovados
Ação: Adicionar label "approved"
Atualizar: Tarefa mostra status aprovação
REGRA 3: PR Merged
─────────────────────────────────────
Trigger: PR merged para main
Ações:
├── Mover tarefa para "Done"
├── Adicionar label "shipped"
├── Fechar tarefa (opcional)
└── Notificar stakeholders
REGRA 4: PR Fechado (não merged)
─────────────────────────────────────
Trigger: PR fechado sem merge
Ação: Mover tarefa de volta para "In Progress"
Alerta: Notificar dono da tarefa
Integração CI/CD
Status de Build
STATUS CI NA TAREFA
═══════════════════
VISÃO TAREFA MOSTRA:
┌─────────────────────────────────────────────────┐
│ Status Build │
├─────────────────────────────────────────────────┤
│ PR #234: Adicionar autenticação │
│ ├── ✓ lint (passed) │
│ ├── ✓ test (passed) │
│ ├── ✓ build (passed) │
│ └── ✓ deploy-preview (ready) │
│ │
│ Preview: https://preview-234.app.dev │
└─────────────────────────────────────────────────┘
TRATAMENTO DE FALHA:
├── Build falha → Tarefa sinalizada
├── Notificação para atribuído
├── Auto-label "build-failed"
└── Bloqueia automação merge
Melhores Práticas
Para Integração Git
- Formato ID consistente — Sempre use padrão GS-123
- Commits significativos — Boas mensagens com IDs tarefa
- Branch por tarefa — Uma tarefa, um branch
- Templates PR — Garanta vinculação tarefa
- Automatize status — Deixe merges fecharem tarefas
Anti-Padrões
ERROS DE INTEGRAÇÃO:
✗ Esquecendo IDs tarefa em commits
✗ Múltiplas tarefas por branch
✗ Updates manuais de status
✗ Não usando templates PR
✗ Ignorando integração CI
✗ Não mapeando todos repos