Adicionar automaticamente números de tickets do JIRA aos commits do Git

Tilson MateusTilson Mateus
4 min read

Adicionar o número do ticket do JIRA aos seus commits pode trazer vários benefícios, especialmente em ambientes de desenvolvimento colaborativo ou em projetos corporativos que utilizam ferramentas de rastreamento de problemas, como o JIRA. Aqui estão algumas razões pelas quais você pode considerar essa prática:

  1. Rastreabilidade:

    • Facilita o rastreamento de alterações específicas até os problemas ou tarefas associadas. Isso é valioso para entender o contexto por trás de uma determinada alteração.
  2. Integração com Ferramentas de Gerenciamento de Projetos:

    • Muitas equipes usam ferramentas de gerenciamento de projetos, como o JIRA, para acompanhar o progresso das tarefas. Incluir o número do ticket no commit cria uma vinculação direta entre o código e as tarefas no sistema de gerenciamento de projetos.
  3. Facilita a Revisão de Código:

    • Ao revisar o histórico de commits, é mais fácil entender por que uma determinada alteração foi feita. Isso pode acelerar o processo de revisão e facilitar a colaboração entre os membros da equipe.
  4. Relatórios e Análises:

    • A inclusão de números de tickets em mensagens de commit pode facilitar a geração de relatórios ou análises automatizadas sobre o progresso das tarefas e as atividades relacionadas ao código.
  5. Compreensão Rápida do Propósito:

    • Ao olhar para o histórico de commits, outros membros da equipe podem entender rapidamente qual problema ou tarefa específica foi abordada em um determinado commit.
  6. Padronização e Consistência:

    • Estabelecer práticas padronizadas, como incluir números de tickets nos commits, promove consistência na equipe e simplifica a comunicação.
  7. Automatização de Processos:

    • Em alguns ambientes, a inclusão do número do ticket pode desencadear automaticamente ações, como atualizações no sistema de gerenciamento de projetos ou a execução de scripts específicos.

Mas, adicionar manualmente o numero do Ticket a cada Commit é extremamente cansativo, o que seria uma boa pratica, acaba por se tornar uma pratica cansativa.

Cansado de escrever bons commits

Você está cansado de adicionar manualmente números de tickets do JIRA aos seus commits do Git? Se sua equipe seguir essa convenção, há uma maneira fácil de automatizar esse processo. Vamos explorar como você pode criar um gancho Git para fazer exatamente isso!

Guia passo a passo para configurar o Git Hook

1. Abra seu terminal ou interface de linha de comando e navegue até seu repositório Git local.

2. Navegue até o .git/hooks/diretório do seu repositório.

3. Caso não exista, crie um arquivo chamado prepare-commit-msg.

touch .git/hooks/prepare-commit-msg

4. Conceda permissões de execução:

chmod +x .git/hooks/prepare-commit-msg

5. Abra prepare-commit-msg no editor de texto de sua preferência e cole o seguinte script:

#!/bin/sh

# Extract the current branch name
BRANCH_NAME=$(git symbolic-ref --short HEAD)

# Identify the JIRA ticket number from the branch name
JIRA_TICKET=$(echo $BRANCH_NAME | grep -oE '[A-Z]+-[0-9]+')

# Prepend the JIRA ticket to the commit message if found
if [ ! -z "$JIRA_TICKET" ]; then
    COMMIT_MSG=$(cat $1)
    echo "[$JIRA_TICKET] - $COMMIT_MSG" > $1
fi

Este script extrai automaticamente o número do ticket JIRA do nome da sua branch e o anexa à sua mensagem de commit.

Agora, quando você fizer commit em uma branch com um número de ticket JIRA em seu nome, a mensagem de commit terá esse número de ticket anexado automaticamente!

Se voce tiver em uma branch,por exemplo, HLA-349 , e executar o seguinte comando:

git commit -m "test: fix broken test"

O resultado séra:

[HLA-349] - test: fix broken test

Lembrar:

  • Este gancho opera localmente. Se quiser que toda a sua equipe se beneficie, considere integrar este script ao procedimento de configuração da sua equipe.

  • Durante operações como rebase, esse gancho pode preceder o número do ticket diversas vezes. Fique atento e ajuste conforme necessário.

Considerações finais

Automatizar tarefas rotineiras, como formatar mensagens de commit, permite que os desenvolvedores se concentrem no que realmente importa: escrever um ótimo código. Ao integrar o JIRA e o Git de maneira mais integrada, sua equipe pode desfrutar de um processo de desenvolvimento mais tranquilo e organizado.

Tente e seja feliz.

Tente e seja feliz.

1
Subscribe to my newsletter

Read articles from Tilson Mateus directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Tilson Mateus
Tilson Mateus

Ola, meu nome é Tilson Mateus sou desenvolvedorLaravel,PHP apaixonado por tecnologia e inovação. Com mais de 6 anos de experiência na área, tenho uma sólida e vastaexperiência em desenvolvimento de software, criação de Api, modelagem de Banco de Dados, especificamente em PHP, MySQL, PostgreSql, HTML, Boostrap e JavaScript, VueJs. Como desenvolvedor back-end, tenho expertise em arquitetura de software, design de banco de dados e desenvolvimento de APIs. Acredito que o desenvolvimento ágil é a melhor maneira de criar produtos de alta qualidade, e procuro sempre trabalhar em equipe para atingir objetivos em conjunto.