Aucune description

Krisztian Mezei be02f46b06 TP-1 first ticket il y a 3 semaines
README.md 836be666ff readme.md il y a 3 semaines
teszt.txt 25591c130b TP-1 first ticket il y a 3 semaines
versions.txt be02f46b06 TP-1 first ticket il y a 3 semaines

README.md

Git hook – Jira automatikus frissítés

Mi ez és mire jó?

Amikor fejlesztés közben git pull parancsot futtatunk, a beérkező commitok üzenetéből automatikusan kiszedi a Jira ticket azonosítókat, és kilistázza őket a konzolon.

A commit üzenetek formátuma:

BBUSAPPBE-496 Modulok összeszinkronizálása - Staging környezetben

Hogyan működik?

A Git hook egy script, amely automatikusan lefut egy Git művelet előtt vagy után. Ebben az esetben a post-merge hookot használjuk, amely minden git pull után lefut.

A script három lépésben dolgozik:

  1. Lekéri az új commitok üzeneteit – csak azokat, amelyek a pull során érkeztek be
  2. Kiszedi a Jira ticket ID-kat – nagybetűk + kötőjel + szám formátum alapján (pl. BBUSAPPBE-496)
  3. Kiírja a konzolra az érintett ticketeket

A script

#!/bin/bash

TICKETS=$(git log ORIG_HEAD..HEAD --pretty="%s" | grep -oE '[A-Z]+-[0-9]+' | sort -u)

if [ -z "$TICKETS" ]; then
  echo "Nem találtam Jira ticket ID-t a commitokban."
else
  echo "Érintett Jira ticketek:"
  for TICKET in $TICKETS; do
    echo "  - $TICKET"
  done
fi

A parancsok magyarázata

Parancs Mit csinál
git log ORIG_HEAD..HEAD A pull által behozott új commitokat listázza
--pretty="%s" Csak a commit üzenetét adja vissza
grep -oE '[A-Z]+-[0-9]+' Megkeresi a Jira ticket formátumú szövegeket
sort -u Rendezi és eltávolítja a duplikátumokat

Beállítás lépései

1. Lépj be a git repóba

cd mezeik_teszt

2. Hozd létre a .githooks mappát

mkdir -p .githooks

3. Hozd létre a hook fájlt

nano .githooks/post-merge

Illeszd be a fenti scriptet, majd mentés: Ctrl+O, kilépés: Ctrl+X

4. Tedd futtathatóvá

chmod +x .githooks/post-merge

5. Állítsd be a Git hookpath-t

git config core.hooksPath .githooks

6. Ellenőrzés

git config core.hooksPath   # → .githooks
ls -l .githooks/             # → post-merge látható

Tesztelés

# Teszt commit létrehozása
git commit --allow-empty -m "BBUSAPPBE-506 teszt commit"

# Pull futtatása (hook automatikusan lefut)
git pull

Várt eredmény a konzolon:

Érintett Jira ticketek:
  - BBUSAPPBE-506

Fontos tudnivalók

  • A .githooks mappa nem szinkronizálódik automatikusan a remote repóval – minden fejlesztőnek egyenként kell beállítania
  • Ha a .githooks mappát a repóba szeretnéd verziókövetni (hogy a csapat könnyen átvehesse), add hozzá a commithoz:

    git add .githooks/
    git commit -m "Git hookok hozzáadása"
    

    Ezután minden fejlesztő csak ennyit futtat a klónozás után:

    git config core.hooksPath .githooks
    

Következő lépés (opcionális)

A script bővíthető úgy, hogy ne csak kiírja a ticketeket, hanem automatikusan frissítse is a Jirát – például átmozgassa a ticketeket a „Kiadásra" oszlopba, vagy beállítsa a Fix Version mezőt. Ehhez Jira API token szükséges.