Référencer des tickets Work items sur GitLab

Automatisez votre suivi de projet en liant vos commits et Merge Requests aux tickets GitLab via les mots-clés.

Référencer des tickets (Work items) sur GitLab : Lier votre code aux tâches

Pourquoi lier votre code aux tickets GitLab ?

Dans un projet bien géré, chaque modification de code doit répondre à un besoin précis : corriger un bug ou ajouter une fonctionnalité. Pour garder une trace de cette relation, GitLab permet de référencer un ticket directement depuis un message de validation (commit).

L'intérêt est immense : en tapant simplement le numéro d'un ticket (ex: #12) dans votre message, GitLab va automatiquement créer un lien entre votre code et la discussion du ticket. Mieux encore, vous pouvez utiliser des mots-clés de fermeture automatique pour que le ticket se ferme tout seul une fois votre travail validé. C'est un gain de temps considérable pour l'organisation de l'équipe.

La méthode pour référencer un ticket

Pour que la magie opère, vous devez suivre un flux de travail rigoureux. Voici comment lier proprement vos changements à une tâche existante.

Récupérer le numéro du ticket

Avant de coder, rendez-vous dans l'onglet Work items de votre projet et notez le numéro (précédé d'un #) du ticket sur lequel vous allez travailler.

Liste des tickets avec leurs numéros

"Chaque ticket possède un identifiant unique indispensable pour le référencement"

Mettre à jour votre dépôt local

Avant de créer une nouvelle branche, assurez-vous que votre version locale est parfaitement à jour avec le serveur :

git switch main
git pull origin main

Résultat :

Already up to date.

Créer une branche dédiée au correctif

Il est de coutume de créer une branche Git dont le nom évoque le problème à résoudre :

git switch -c fix-bug-header

Le Commit : Faire le lien avec le ticket

C'est à cette étape que tout se joue. Vous allez enregistrer vos modifications en mentionnant le ticket.

Effectuer les changements et valider

Modifiez vos fichiers, puis préparez votre commit. Pour lier le ticket au commit, mentionnez simplement son numéro dans le message :

git add README.md
git commit -m "Correction du bug d'affichage (ref #1)"

L'astuce de l'automatisation

Si vous utilisez des mots-clés comme Fixes #1, Closes #1 ou Resolves #1, GitLab fermera automatiquement le ticket uniquement lorsque votre code sera fusionné dans la branche principale par défaut (main).

Envoyer vers le serveur

Poussez votre branche sur GitLab pour déclencher la suite des opérations :

git push origin fix-bug-header

Finaliser avec la Merge Request

Une fois votre code envoyé, créez une Merge Request (comme vu au chapitre précédent).

Vérifier le lien automatique

Dans la page de la Merge Request, GitLab affichera automatiquement un lien vers le ticket référencé. Si vous avez utilisé un mot-clé de fermeture, vous verrez une mention indiquant que le ticket sera fermé après la fusion.

Astuce: Propreté de l'historique

Aujourd'hui, de nombreux développeurs préfèrent ne pas "polluer" leurs messages de commit avec des mots-clés. Vous pouvez simplement lier votre code en écrivant Closes #1 dans la description de votre Merge Request. L'effet est le même : le ticket se fermera tout seul dès que votre code sera fusionné dans main.

Ticket référencé dans une Merge Request

"GitLab affiche clairement que ce travail va résoudre le ticket concerné"

Conclusion

Le référencement d'issues est une pratique indispensable pour garder un projet propre et une équipe synchronisée. Cela permet de savoir en un coup d'œil quel code a servi à résoudre quel problème.

Cependant, sur de gros projets, les tickets peuvent être extrêmement nombreux. Pour mieux les organiser dans le temps et respecter les dates de livraison, GitLab utilise les Jalons (Milestones). C'est ce que nous allons explorer dans le chapitre suivant.

Espace commentaire

Écrire un commentaire

Rejoignez la discussion

Vous devez être connecté pour poster un message.

20 commentaires

ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Bon courage. Pense aussi à utiliser les Milestones pour regrouper ces tickets une fois qu'ils seront tous fermés.

12/05/2026 à 07:01

Super clair. Je vais mettre ça en place dans ma squad dès demain.

12/05/2026 à 01:58
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Non, tu peux combiner les deux sans souci. Exemple :

git commit -m "fix(ui): correction header

Closes #22"
11/05/2026 à 18:14
roy-eric
Membre
Avatar de roy-eric
roy-eric
Membre

Le formatage des commits est strict chez nous, on utilise des outils comme Conventional Commits. Ça pose problème avec les mots-clés GitLab ?

11/05/2026 à 13:41
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Bien sûr, il suffit de cliquer sur 'Reopen issue' sur la page du ticket. Ne panique pas, rien n'est supprimé.

11/05/2026 à 09:22

Question bête : si je ferme le ticket par erreur avec un mauvais mot-clé, je peux le rouvrir ?

11/05/2026 à 01:27
anne39
Membre Actif
Avatar de anne39
anne39
Membre Actif

Merci pour l'astuce sur le git pull origin main avant de commencer, ça m'évite des conflits bien sales.

10/05/2026 à 18:41
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Tu peux simplement supprimer le lien manuellement dans l'interface de la Merge Request, il y a une croix à côté du ticket lié.

10/05/2026 à 13:35
julien03
Membre
Avatar de julien03
julien03
Membre

Est-ce qu'on peut revenir en arrière si on a lié le mauvais ticket par erreur ?

10/05/2026 à 06:59
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Vérifie si ta branche cible est bien configurée comme 'default branch' dans les réglages de ton projet GitLab. Si tu merges vers une branche de dev secondaire, ça ne fermera rien.

10/05/2026 à 02:24
gmarechal
Membre
Avatar de gmarechal
gmarechal
Membre

J'ai mergé ma branche mais le ticket #5 n'est pas fermé. J'ai utilisé Resolves #5 pourtant.

09/05/2026 à 21:33
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Oui, tu peux enchaîner les mots-clés dans ton message de commit :

git commit -m "Refacto module auth, Closes #10, Closes #11"
09/05/2026 à 17:08
veronique-costa
Membre Actif
Avatar de veronique-costa
veronique-costa
Membre Actif

Ça fonctionne super bien. Par contre, si je veux lier plusieurs tickets sur un seul commit, c'est possible ?

09/05/2026 à 09:42
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Vérifiez vos permissions. Si vous n'avez pas le rôle 'Developer' sur le projet, vous ne pourrez pas pusher de branche. Faites un git remote -v pour être sûr que vous pointez sur le bon dépôt.

09/05/2026 à 02:03

Pareil ici. Je pense que c'est un problème de droits sur le repo, pas lié à la méthode de commit.

08/05/2026 à 21:27

J'ai une erreur 403 quand je push sur la branche. Pourtant j'ai bien fait mon git switch -c.

08/05/2026 à 17:16
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Oui, ça fonctionne aussi. GitLab scanne le titre et la description de la MR pour trouver les références. C'est plus propre que de polluer l'historique des commits.

08/05/2026 à 09:34
catherine02
Membre Actif
Avatar de catherine02
catherine02
Membre Actif

Est-ce que ça marche aussi si je mets le numéro de ticket dans le titre de la Merge Request ?

08/05/2026 à 05:21
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

C'est normal. Le mot-clé Fixes ne déclenche la fermeture du ticket que lors de la fusion dans la branche par défaut. Tant que tu n'as pas mergé ta MR, le ticket reste ouvert.

07/05/2026 à 23:34
gseguin
Membre Actif
Avatar de gseguin
gseguin
Membre Actif

J'ai testé le git commit -m "Fixes #42" mais le ticket reste ouvert alors que la branche est poussée. Une idée ?

07/05/2026 à 18:59

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire