|
|
3 veckor sedan | |
|---|---|---|
| README.md | 3 veckor sedan | |
| teszt.txt | 3 veckor sedan | |
| versions.txt | 3 veckor sedan |
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
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:
BBUSAPPBE-496)#!/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
| 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 |
cd mezeik_teszt
.githooks mappátmkdir -p .githooks
nano .githooks/post-merge
Illeszd be a fenti scriptet, majd mentés: Ctrl+O, kilépés: Ctrl+X
chmod +x .githooks/post-merge
git config core.hooksPath .githooks
git config core.hooksPath # → .githooks
ls -l .githooks/ # → post-merge látható
# 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
.githooks mappa nem szinkronizálódik automatikusan a remote repóval – minden fejlesztőnek egyenként kell beállítaniaHa 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
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.