Testar grátis
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çãoCom Integração
Updates manuais de statusAuto-update no PR
Sem visibilidade de códigoCommits na tarefa
Informação duplicadaFonte única de verdade
Contexto perdidoHistó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

  1. Formato ID consistente — Sempre use padrão GS-123
  2. Commits significativos — Boas mensagens com IDs tarefa
  3. Branch por tarefa — Uma tarefa, um branch
  4. Templates PR — Garanta vinculação tarefa
  5. 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

Soluções Relacionadas