首页 帮助中心 Integração entre Jira e GitHub: como vincular commits e issues

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:

  • receber ou consultar eventos do GitHub;
  • extrair uma ou mais chaves de issue do texto;
  • registrar uma chave de deduplicação;
  • consultar a issue no Jira;
  • adicionar um comentário com a referência do GitHub;
  • opcionalmente avaliar uma transição de status;
  • 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:

  • commit com uma chave válida;
  • commit sem chave;
  • commit com duas chaves;
  • repetição do mesmo evento;
  • chave inexistente;
  • conexão sem permissão para comentar;
  • 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.

    本文包含联盟推广链接。通过这些链接注册不会增加你的费用,但会帮助我们持续产出高质量的免费内容。

    理解概念后,先选低风险流程

    如果这个概念对应你的真实重复任务,可以先从可人工复核的小流程开始尝试。价格、额度和模块限制请以官方页面为准。

    ✓ 先跑低风险流程✓ 保留人工复核✓ 价格和额度以官方页面为准
    选好流程后打开 Make