Nesta página

Integração entre Jira e GitHub: como vincular commits e issues

Uma integração entre GitHub e Jira pode registrar referências de commits ou pull requests na issue correspondente. No Make, o cenário recebe um evento do GitHub, extrai a chave da issue, confirma que ela existe no Jira e adiciona um comentário ou outra atualização previamente aprovada.

O valor dessa automação depende de uma convenção consistente. Se as mensagens de commit e os títulos de pull request não contiverem uma chave reconhecível, o cenário não terá uma associação confiável para usar.

Preparação

Antes de criar o cenário:

  • defina o formato das chaves de issue, como PROJ-123;
  • escolha quais repositórios, branches e eventos entram no fluxo;
  • confirme quais ações o cenário poderá executar no Jira;
  • crie conexões com o menor conjunto de permissões necessário;
  • decida como registrar eventos sem chave ou com mais de uma chave;
  • escolha uma chave de deduplicação.

Não coloque tokens em mensagens de commit, campos do cenário ou documentação. Use as conexões gerenciadas pelo Make e siga as políticas da organização para GitHub e Jira.

Estrutura recomendada

O cenário pode seguir estas etapas:

  1. receber ou consultar eventos do GitHub;
  2. extrair uma ou mais chaves de issue do texto;
  3. registrar uma chave de deduplicação;
  4. consultar a issue no Jira;
  5. adicionar um comentário com a referência do GitHub;
  6. opcionalmente avaliar uma transição de status;
  7. tratar falhas e eventos sem correspondência.

Comece apenas com comentários. Alterações de status devem ser adicionadas depois, porque dependem do fluxo de trabalho do projeto e podem ter efeitos mais amplos.

1. Configurar o gatilho do GitHub

Escolha um módulo disponível que observe o evento desejado, como commits ou pull requests. Conforme o conector e a política do repositório, o gatilho pode usar webhook ou consulta agendada.

Restrinja a conexão aos repositórios necessários e filtre branches quando isso fizer parte da regra. Use Run once para capturar um evento controlado e identificar os campos reais da mensagem, SHA, autor e URL.

Se usar webhook, confirme no GitHub se a entrega chegou ao endpoint e se o tipo de evento corresponde ao que o cenário espera. Se usar consulta agendada, defina um ponto inicial para não reprocessar todo o histórico.

2. Extrair a chave da issue

Adicione um analisador de texto após o gatilho. Uma convenção comum combina letras maiúsculas, hífen e número, como PROJ-123, mas o padrão deve refletir os projetos reais da organização.

Considere estes casos:

  • mensagem sem chave;
  • mais de uma chave no mesmo commit;
  • chave em letras minúsculas;
  • texto semelhante que não representa uma issue;
  • chave de um projeto que a conexão não pode acessar.

Encaminhe mensagens sem correspondência para um registro de revisão, em vez de tentar adivinhar a issue. Quando houver várias chaves válidas, processe cada associação separadamente e preserve a relação com o mesmo evento do GitHub.

3. Evitar comentários duplicados

Crie uma chave formada pela SHA do commit e pela chave da issue. Para pull requests, use uma combinação estável do ID do evento, repositório e chave da issue.

Consulte um armazenamento de dados antes de gravar no Jira:

  • se a chave já existir, não publique novamente;
  • se não existir, continue o fluxo;
  • grave a chave somente após confirmar a atualização no Jira.

Se a execução falhar depois que o Jira aceitar o comentário, consulte a issue antes de repetir a escrita. Assim, uma falha de resposta não produz o mesmo comentário várias vezes.

4. Confirmar a issue no Jira

Use o módulo de consulta do Jira com a chave extraída. Além de validar a existência, confira projeto, status e permissões antes de qualquer atualização.

Quando a issue não existir ou estiver fora do escopo, registre o evento com a URL do commit e a chave encontrada. Não crie uma issue nova automaticamente, a menos que exista um processo separado e explicitamente autorizado para isso.

5. Adicionar um comentário rastreável

Monte um comentário curto com:

  • mensagem do commit ou título do pull request;
  • autor;
  • SHA abreviada ou número do pull request;
  • link para o item no GitHub;
  • repositório e branch, quando forem relevantes.

Mapeie os valores a partir da carga recebida, sem aceitar HTML ou conteúdo não confiável como instrução. Se o Jira exigir um formato estruturado para comentários, gere o corpo conforme a documentação atual da API ou do módulo.

6. Tratar transições de status

Uma transição automática é opcional. Antes de habilitá-la:

  • defina quais palavras ou eventos autorizam a mudança;
  • confirme a transição válida para cada status atual;
  • exclua branches e repositórios que não fazem parte do processo;
  • trate issues concluídas, canceladas ou bloqueadas;
  • obtenha aprovação da equipe responsável pelo fluxo do Jira.

Use um roteador para separar comentários simples de eventos que podem mudar o status. Quando a condição não for inequívoca, mantenha o comentário e deixe a transição para revisão humana.

7. Tratar erros

Adicione tratamento aos módulos do Jira e ao armazenamento de dados. Registre:

  • repositório e ID do evento;
  • chave da issue;
  • etapa que falhou;
  • resposta da API sem credenciais;
  • estado da deduplicação;
  • ação segura para nova tentativa.

Falhas de autenticação exigem revisão da conexão. Respostas temporárias podem permitir nova tentativa, mas o cenário deve verificar antes se a atualização já foi aplicada.

Testar o cenário

Use uma branch e uma issue de teste aprovadas. Valide pelo menos:

  1. commit com uma chave válida;
  2. commit sem chave;
  3. commit com duas chaves;
  4. repetição do mesmo evento;
  5. chave inexistente;
  6. conexão sem permissão para comentar;
  7. transição inválida para o status atual.

Depois de cada execução, inspecione os pacotes no Make e confirme o resultado no Jira. Ative o cenário somente quando os caminhos de associação, deduplicação e erro estiverem claros.

Extensões possíveis

Depois que o vínculo de commits estiver estável, o mesmo padrão pode acompanhar pull requests, revisões ou eventos de implantação. Adicione uma extensão de cada vez e mantenha uma chave de correlação distinta por tipo de evento.

Evite transformar qualquer mensagem em uma mudança de status. Referências automáticas devem apoiar a rastreabilidade, enquanto decisões sobre conclusão e entrega seguem o fluxo aprovado pela equipe.

Para revisar a arquitetura original e os módulos atuais, consulte o guia oficial de integração entre Jira e GitHub.

Esta página inclui links de afiliado. Podemos receber uma comissão se você se registrar ou contratar por meio deles, sem custo adicional para você.

Entenda o conceito e comece com um fluxo de baixo risco

Se este conceito corresponde a uma tarefa repetitiva real, comece com um fluxo pequeno que você possa revisar manualmente. Consulte preços, limites e restrições de módulos na página oficial.

✓ Comece com um fluxo de baixo risco✓ Mantenha a revisão humana✓ Preços e limites conforme a página oficial
Abrir o Make quando escolher o fluxo