Aller au contenu principal

Merge requests

Une merge request propose de fusionner le code d'une branche (la source) dans une autre (la cible), par exemple une staging validée dans la production. Les merge requests de Karizma One sont de vraies merge requests GitLab, synchronisées avec la plateforme : vous les créez, les relisez et les fusionnez sans quitter Karizma One.

Accès

Settings › Development › Merge Requests. Créer, consulter, analyser, fermer et fusionner une merge request est réservé aux rôles Super Admin et Admin du projet.

Cycle de vie d'une merge request​

Créer une merge request​

Vous pouvez créer une merge request de trois façons.

Depuis la barre d'actions

  1. Sur la page projet, cliquez sur Merge Request.
  2. Dans la fenêtre Create a Merge Request, saisissez un titre (Merge Request Title, 2 caractères minimum).
  3. Choisissez la Source Branch et la Target Branch. Seules les branches de production, de staging et de développement sont proposées.
  4. Si la source est une branche de développement, vous pouvez cocher Delete source branch when merge request is accepted.
  5. Cliquez sur Create merge request. Le message Merge request created successfully! confirme la création.

En glissant une staging sur la production

Dans la liste des branches, glissez une branche de STAGING sur PRODUCTION, saisissez éventuellement un titre puis cliquez sur Create merge request. Voir Livrer une staging en production.

Directement dans GitLab

Une merge request créée dans GitLab apparaît dans la liste après un clic sur Sync GitLab.

Suivre les merge requests​

La page Merge Requests (Synchronized GitLab Merge Requests) liste les merge requests du projet.

La liste des merge requests avec ses indicateurs
La liste des merge requests avec ses indicateurs
  • Sync GitLab récupère les dernières données de GitLab (GitLab data synchronized.).
  • Quatre compteurs résument la situation : Opened MR, Merged, Closed MR et Conflicts.
  • Les onglets All, Opened, Merged et Closed filtrent par état ; le champ Search by title or description... filtre par texte.
ColonneContenu
#Numéro de la merge request dans GitLab.
Title & BranchesTitre, branches source → cible, étiquettes GitLab et, le cas échéant, la raison qui bloque la fusion.
AuthorAuteur de la merge request.
PipelineÉtat du dernier pipeline : Passed, Failed, Running, Pending, Canceled ou Unknown.
Statusopened, merged ou closed.
AgeAncienneté de la merge request.
ActionsOuvre la page de détail ou la merge request dans GitLab.

Pourquoi une merge request ne peut pas être fusionnée​

Une étiquette indique ce qui bloque la fusion. Les raisons les plus courantes :

ÉtiquetteQue faire
Conflicts with the target branchRésolvez les conflits avec Resolve in Web IDE.
Pipeline must pass first / Pipeline is still runningAttendez la fin du pipeline ou corrigez l'erreur.
Unresolved discussionsRésolvez les discussions ouvertes dans GitLab.
Still a draftRetirez le statut de brouillon dans GitLab.
Not approved yet / Changes were requestedObtenez l'approbation requise par les règles de votre dépôt GitLab.
Needs a rebaseMettez la branche source à jour avec la cible.
Blocked by another merge requestFusionnez d'abord la merge request dont elle dépend.
GitLab is still checking mergeabilityPatientez quelques instants, puis cliquez sur Sync GitLab.

Relire une merge request​

Cliquez sur une merge request pour ouvrir sa page de détail. L'en-tête affiche son numéro, son titre, les branches source et cible, le nombre de fichiers modifiés et les lignes ajoutées ou supprimées.

OngletContenu
OverviewLa synthèse AI Overview et l'activité de la merge request (Activity) : commentaires et événements GitLab. View full activity affiche tout l'historique.
ChangesLes différences, fichier par fichier, avec un affichage côte à côte ou en ligne.
Commits (n)Les commits de la merge request ; View commit details affiche le détail d'un commit.

Faire analyser les changements par l'IA​

Dans l'onglet Overview, la section AI Overview (Automated Code Review) produit une relecture automatique des changements.

  1. Cliquez sur Analyze AI.
  2. L'analyse prend quelques minutes ; le résultat s'affiche automatiquement.
  3. Pour relancer l'analyse après de nouveaux commits, cliquez sur Re-analyze. Un délai d'attente s'applique entre deux analyses (Re-trigger available in about N min.).

Agir sur une merge request​

Sur une merge request ouverte, la barre d'actions propose :

BoutonEffet
Close MRFerme la merge request sans la fusionner.
Request ChangesOuvre une zone de commentaire, pré-remplie avec une mention de l'auteur. Post Comment publie le commentaire dans GitLab (Correction request note posted to GitLab.).
Resolve in Web IDEVisible seulement en cas de conflit. Ouvre la branche source dans le Web IDE avec les fichiers en conflit. Voir Résoudre les conflits d'une merge request.
Validate & MergeFusionne la merge request dans la branche cible (MR !N merged successfully.). Désactivé tant qu'il y a des conflits ou un blocage ; l'info-bulle Cannot merge: … en donne la raison.

Une merge request fermée affiche This Merge Request is closed. et le bouton Reopen MR pour la rouvrir. Une merge request fusionnée affiche This Merge Request has already been merged.

Approbations

Karizma One n'a pas de bouton d'approbation. Si votre dépôt GitLab impose des règles d'approbation, elles se gèrent dans GitLab et apparaissent ici sous la forme du blocage Not approved yet.

Après la fusion​

La fusion crée un commit sur la branche cible, ce qui lance son pipeline. Fusionner dans la branche de production la déploie en production : voir Déploiements et pipelines. Suivez le déploiement dans l'onglet HISTORY de la branche cible.

Voir aussi​