Examiner les pull requests

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Conseil

Vous pouvez utiliser l’IA pour faciliter les tâches Azure DevOps. Consultez Activer l'assistance IA avec Azure DevOps MCP Server pour commencer.

Lorsque vous créez une pull request (PR) et indiquez des réviseurs obligatoires et facultatifs, Azure Repos informe les réviseurs que votre PR est prête à être examinée. Tous les réviseurs requis doivent approuver les modifications apportées à votre demande de tirage avant que les modifications ne puissent être fusionnées dans la branche cible. Pour les PR qui modifient des branches critiques comme main, votre équipe peut avoir des stratégies de branche qui spécifient les réviseurs ou exigent un nombre minimal de réviseurs. Si les stratégies de branche ajoutent des réviseurs facultatifs à votre demande de tirage, vous pouvez les conserver, les exiger ou les supprimer. Si les stratégies de branche ajoutent des réviseurs requis à votre demande de tirage, vous ne pouvez pas les rendre facultatifs ou les supprimer. Pour plus d’informations sur l’attribution de réviseurs par le biais de stratégies de branche et de bonnes pratiques de sécurité, consultez Référentiels sécurisés et demandes de tirage (pull request ) et incluez automatiquement les réviseurs de code.

Lorsque vous examinez une PR, faites des retours constructifs, précis et faciles à comprendre. Pour plus d’informations, consultez les commentaires sur les demandes de tirage.

Vous pouvez uniquement consulter les demandes de tirage Azure DevOps dans le portail web à l’aide de votre navigateur.

Prérequis

Catégorie Spécifications
Projet Un projet Azure DevOps . Si vous n’avez pas de projet, créez-en un ou inscrivez-vous gratuitement.
Services Repos activé dans votre projet. Si le hub Repos ne s'affiche pas, consultez Turn an Azure DevOps service on or off.
Niveaux d’accès Au moins un accès de base. Pour les projets publics, les utilisateurs disposant de Stakeholder ont un accès complet à Azure Repos.
Permissions Être membre du projet Azure DevOps qui contient la PR. Si vous n’êtes pas membre du projet, soyez ajouté. Pour plus d’informations, consultez le référentiel Git par défaut et les autorisations de branche et À propos des niveaux d’accès.
Catégorie Spécifications
Services Repos activé dans votre projet. Si le hub Repos ne s'affiche pas, consultez Turn an Azure DevOps service on or off.
Niveaux d’accès Au moins un accès de base.
Permissions Être membre du projet Azure DevOps qui contient la PR. Si vous n’êtes pas membre du projet, soyez ajouté. Pour plus d’informations, consultez le référentiel Git par défaut et les autorisations de branche et À propos des niveaux d’accès.

Vous pouvez gérer les demandes de tirage dans Azure DevOps Services à l’aide de l’interface de ligne de commande (CLI) Azure DevOps. L’interface CLI Azure DevOps est disponible lorsque vous installez Azure CLI et l’extension Azure DevOps. Pour obtenir la liste des commandes CLI permettant de gérer les demandes de tirage, consultez les commandes az repos pr.

Examiner les modifications

Les demandes de fusion permettent aux examinateurs désignés d’examiner les modifications proposées, d’en discuter et de se prononcer sur elles avant qu’elles ne soient fusionnées dans une branche cible. Si les mêmes fichiers sont modifiés sur les branches source et cible, vous pouvez voir des conflits de fusion. Analysez soigneusement les conflits et modifiez les fichiers manuellement pour appliquer les modifications appropriées de chaque branche. Accepter toutes les modifications de la source uniquement ou de la cible uniquement en un seul clic peut vous faire perdre des modifications nécessaires. Vous pouvez résoudre les conflits dans Azure DevOps ou dans un outil de développement comme Visual Studio.

Pour plus d’informations, consultez Résoudre les conflits de fusion.

Demander une révision de code Copilot

Vous pouvez demander à GitHub Copilot d’examiner une pull request aux côtés de réviseurs humains. Copilot publie des commentaires et des suggestions directement sur le code modifié. Vous pouvez donc résoudre les problèmes courants avant qu’un réviseur humain ne se déconnecte.

Pour demander un examen avec le niveau d’effort par défaut du dépôt, ouvrez une pull request et sélectionnez Demander à côté de GitHub Copilot dans la section Reviewers. Pour choisir un niveau d’effort différent pour une révision, ouvrez le menu déroulant en regard de Demander et sélectionnez un niveau d’effort. Copilot laisse toujours un avis Comment, de sorte que ses retours ne satisfont pas aux stratégies de réviseur obligatoire et n’empêchent pas la fusion.

Vous pouvez également configurer des stratégies de branche pour déclencher automatiquement des revues pour les pull requests nouvelles ou à l’état de brouillon.

Note

La révision de code avec GitHub Copilot est disponible en préversion publique pour tous les clients Azure DevOps. Pour la configuration, la facturation et les limites, consultez Bien démarrer avec la révision de code Copilot pour les demandes de tirage.

Passer en revue les modifications en tant que réviseur humain

Les étapes suivantes décrivent comment les réviseurs de demandes de tirage dans Azure Repos peuvent parcourir une demande de tirage pour comprendre les modifications proposées :

  1. À partir de votre navigateur web, ouvrez le projet d’équipe pour votre organization Azure DevOps. Sélectionnez Dépôts>Demandes de tirage pour afficher la liste des PR. Une demande de tirage nouvellement ouverte est par défaut sous l’onglet Vue d’ensemble.

  2. L’onglet Vue d’ensemble d’une PR affiche le titre, la description, les réviseurs, les éléments de travail liés, l’historique, l’état et les commentaires. Lisez la description de la demande de tirage pour voir les modifications proposées. Affichez les commentaires pour comprendre les problèmes soulevés par d’autres réviseurs.

    Note

    Chaque fichier est marqué avec un signe « + » ou une étiquette « renommer, modifier » en regard de son nom pour indiquer le type de modification. Lorsqu’un fichier a plus de 50 % de modifications, Git considère qu’il a été renommé. Ce seuil est la valeur par défaut pour les référentiels Git et ne peut pas être modifié.

    Capture d’écran de l’onglet Vue d’ensemble de demande de tirage d’Azure Repos.

  3. Sélectionnez l’onglet Fichiers pour passer en revue toutes les modifications de contenu dans la branche source de la demande de tirage. La vue initiale affiche une vue récapitulative de toutes les modifications de fichier. Choisissez le bouton Affichage en regard d’un fichier pour afficher uniquement les modifications de ce fichier. Si le fichier a été modifié, le bouton Affichage ouvre une vue diff. Si le fichier a été ajouté ou supprimé, le bouton Affichage ouvre un volet de contenu.

    Capture d’écran d’une vue récapitulative des modifications dans l’onglet Fichiers d’une PR.

    Note

    Pour des raisons de performances, la vue récapitulative n’affiche pas les modifications d’un fichier supérieur à 0,5 Mo.

  4. Dans une vue diff d’un fichier, vous pouvez sélectionner un affichage côte à côte ou interlinéaire.

    Capture d’écran d’une vue des différences côte à côte dans l’onglet Fichiers d’une PR.

    Conseil

    Pour tout fichier unique supérieur à 5 Mo, la vue diff affiche le contenu du fichier tronqué. Pour afficher les différences sur l’ensemble du contenu, téléchargez ces fichiers et examinez-les à l’aide d’un outil de comparaison local.

    Utilisez l’arborescence de fichiers de gauche pour afficher un autre fichier, ou sélectionnez la racine de l’arborescence de fichiers pour afficher une vue récapitulative de toutes les modifications apportées au fichier.

  5. Pour passer en revue l’ensemble de modifications introduit par des push spécifiques à la branche source, sélectionnez un ou plusieurs ensembles de modifications dans la liste déroulante des modifications. Lorsque vous sélectionnez un ou plusieurs ensembles de modifications, le diff s'actualise pour afficher uniquement les modifications issues des ensembles sélectionnés. Cette fonctionnalité est utile lorsque des modifications sont poussées vers la PR depuis votre dernière révision et que vous souhaitez uniquement voir les nouvelles modifications. La liste déroulante des modifications nomme chaque ensemble de modifications avec le message de validation de la validation finale dans chaque opération push.

    Capture d’écran du menu déroulant de la section des ensembles de modifications dans l’onglet Fichiers d’une PR.

    Conseil

    Maintenez la touche Maj enfoncée lors de la sélection de plusieurs ensembles de modifications dans la liste déroulante modifications.

  6. Choisissez l’onglet Mises à jour pour afficher tous les ensembles de modifications envoyés (push) et pour confirmer que vous n’avez pas manqué les modifications de branche source. Les lots de modifications sont numérotés et le lot de modifications le plus récent apparaît en haut de la liste. Chaque ensemble de modifications affiche les validations qui ont été envoyées lors de cette opération de 'push'. Un ensemble de modifications poussé de force ne remplace pas l’historique des ensembles de modifications et apparaît dans la liste des ensembles de modifications comme n’importe quel autre ensemble de modifications.

    Capture d’écran d’une liste d’ensembles de modifications dans l’onglet Mises à jour d’une PR.

  7. Choisissez l’onglet Validations pour afficher l’historique des validations de la branche source après qu’elle a divergé de la branche cible. L’historique des commits dans l’onglet Commits est remplacé si l’auteur de la PR effectue un push forcé avec un historique de commits différent. Par conséquent, les commits affichés dans l’onglet Commits peuvent différer des commits affichés dans l’onglet Mises à jour.

    Capture d’écran d’une liste de commits dans l’onglet Commits d’une PR.

Utiliser des commentaires

Les auteurs et les réviseurs de demandes de tirage peuvent communiquer entre eux en ajoutant et en répondant aux commentaires de demande de tirage. Lorsque vous examinez une PR, utilisez les commentaires pour signaler les problèmes liés aux modifications proposées, proposer des modifications et répondre aux commentaires précédents. Visez des commentaires constructifs, précis et faciles à comprendre. Adressez les destinataires directement à l’aide de leur @username. Référencez les éléments de travail à l’aide de #workitemID et d’autres demandes de tirage à l’aide de !pullrequestID. Parfois, les auteurs de demandes de tirage créent des commentaires pour eux-mêmes à des fins de documentation.

Fournir des commentaires dans les commentaires

Si vos commentaires s’appliquent à une ligne ou à une plage de lignes spécifiques dans un fichier, ajoutez un commentaire à cet emplacement dans le fichier :

  1. Dans l’onglet Fichiers d’une demande de tirage, pointez sur la ligne sur laquelle vous souhaitez commenter et sélectionnez le bouton de commentaire pour ouvrir une zone de commentaire inlined. Vous pouvez également sélectionner plusieurs lignes, puis sélectionner le bouton de commentaire qui s’affiche lorsque vous pointez sur ces lignes.

    Screenshot de l’icône de commentaire dans une Azure Repos PR.

  2. Entrez votre commentaire dans la zone de commentaire, puis choisissez Commentaire.

    Screenshot de la zone de commentaire sous l’onglet Fichiers d’une Azure Repos PR.

Si vos commentaires s’appliquent à l’ensemble du fichier, ajoutez un commentaire au niveau du fichier en sélectionnant Ajouter un commentaire dans le menu d’options de fichier :

Screenshot du menu contextuel de l’arborescence de fichiers sous l’onglet Fichiers d’un Azure Repos PR.

Pour fournir des commentaires généraux non liés à un fichier spécifique, ajoutez un commentaire sous l’onglet Vue d’ensemble :

Screenshot d’une zone de commentaire sous l’onglet Vue d’ensemble d’une Azure Repos PR.

Les réviseurs de demandes de tirage peuvent également utiliser des commentaires pour suggérer des modifications à des lignes de fichiers spécifiques, comme décrit dans la section suivante.

Suggérer des modifications dans les commentaires

Utilisez des commentaires pour suggérer un texte de remplacement pour une ou plusieurs lignes d’un fichier :

  1. Dans l’onglet Fichiers d’une demande de tirage, pointez sur la ligne sur laquelle vous souhaitez commenter et sélectionnez le bouton de commentaire pour ouvrir une zone de commentaire inlined. Vous pouvez également sélectionner plusieurs lignes, puis sélectionner le bouton de commentaire qui s’affiche lorsque vous pointez sur ces lignes. S’il est accepté, votre contenu suggéré remplace la ligne ou les lignes auxquelles votre commentaire a été ajouté.

    Screenshot de l’icône de commentaire dans une Azure Repos PR.

  2. Sélectionnez l’icône d’ampoule sous la zone de commentaire pour apporter les modifications suggérées dans la zone de commentaire d’un bloc de code délimité, puis choisissez Commentaire. Vous ne voyez pas d’icône d’ampoule si vous ajoutez un commentaire au code d’origine (côté gauche) d’une vue différentielle côte à côte.

    Screenshot montrant comment apporter une modification suggérée dans l’onglet Fichiers d’une Azure Repos PR.

Les auteurs de demandes de tirage peuvent accepter votre suggestion en :

  1. Choisissez Appliquer les modifications pour mettre en scène le changement de préparation à une validation.

    Screenshot montrant comment accepter une modification suggérée sous l’onglet Fichiers d’une Azure Repos PR.

  2. Choisissez Valider toutes les modifications pour valider toutes les modifications intermédiaires. Les auteurs de demande de tirage peuvent annuler une suggestion en choisissant Annuler la modification.

    Screenshot montrant comment valider toutes les modifications dans l’onglet Fichiers d’un Azure Repos PR.

Modifier ou supprimer des commentaires

Modifiez ou supprimez votre commentaire en pointant sur le commentaire et en choisissant l’icône Modifier ou supprimer :

Capture d’écran d’une liste de commits dans l’onglet Commits d’une PR.

Aimer les commentaires

Les auteurs et les réviseurs de demandes de tirage peuvent aimer leur propre commentaire ou celui de quelqu’un d’autre en pointant sur le commentaire et en choisissant l’icône pouce vers le haut :

Capture d’écran montrant le bouton J’aime dans un commentaire de PR.

Les commentaires ayant reçu des mentions « J’aime » affichent une icône de pouce vers le haut remplie ainsi que le nombre de mentions « J’aime ». Pointez sur l’icône pouce vers le haut pour afficher la liste des personnes qui ont aimé le commentaire.

Capture d’écran montrant le nombre de mentions « J’aime » dans un commentaire de PR.

Répondre aux commentaires

Les auteurs de demandes de tirage doivent répondre aux commentaires pour informer les réviseurs de la façon dont ils répondent aux commentaires et aux suggestions :

  1. Pour répondre à un commentaire, tapez votre réponse dans le champ Écrire une réponse. Adressez les destinataires directement à l’aide de leur @username. Référencez les éléments de travail à l’aide de #workitemID et d’autres demandes de tirage à l’aide de !pullrequestID.

    Capture d’écran montrant où répondre à un commentaire de PR.

  2. Après avoir entré votre réponse, sélectionnez Répondre et résoudre si votre réponse est finale. Sinon, sélectionnez Répondre.

    Capture d’écran montrant comment répondre à un commentaire de PR ou le résoudre.

    Si vous sélectionnez Répondre & résoudre, l’état du commentaire passe à Résolu. Les auteurs de demandes de tirage peuvent également modifier directement l’état d’un commentaire, comme décrit dans la section suivante.

Modifier l’état des commentaires

Les nouveaux commentaires commencent par un état Actif . Les auteurs de demandes de tirage mettent à jour l’état pendant le processus de révision pour montrer comment ils ont traité les commentaires et suggestions des réviseurs. Les auteurs de demande de tirage peuvent sélectionner un état de commentaire dans la liste déroulante d’état :

Capture d’écran des options d’état du commentaire dans un commentaire de PR.

  • Actif : état par défaut pour les nouveaux commentaires.
  • En attente : le problème dans ce commentaire est en cours de révision et attend quelque chose d’autre.
  • Résolu : le problème dans ce commentaire est résolu.
  • Ne résout pas : le problème dans ce commentaire est noté, mais ne sera pas résolu.
  • Fermé : la discussion de ce commentaire est fermée.

Les auteurs et les réviseurs de demandes de tirage peuvent suivre la progression de la demande de tirage en filtrant les états de commentaires, comme décrit dans la section suivante.

Filtrer des commentaires

Vous pouvez sélectionner les commentaires ou mises à jour affichés sous l’onglet Vue d’ensemble en sélectionnant une option de filtre dans la liste déroulante filtre de commentaires. Par exemple, sélectionnez l’option de filtre Nouveautés pour afficher les nouveaux commentaires et mises à jour depuis la dernière ouverture de la demande de tirage. Chaque option de filtre affiche le nombre d’éléments pour sa catégorie.

Capture d’écran montrant les options de filtre de commentaire sous l’onglet Vue d’ensemble d’une demande de tirage.

Modifier des fichiers

Pour des raisons pratiques, les auteurs de demandes de tirage peuvent modifier des fichiers directement dans Azure Repos. Par exemple, vous pouvez accepter la modification de code suggérée d’un réviseur et souhaiter apporter des modifications similaires ailleurs.

  1. Sélectionnez Repos>Files, sélectionnez la branche source de PR, sélectionnez un fichier, puis choisissez Edit.

    Capture d’écran du bouton Modifier pour mettre à jour un fichier dans Azure Repos.

  2. Apportez vos modifications dans l’éditeur, puis choisissez Valider pour ouvrir la boîte de dialogue Valider.

    Capture d’écran du bouton Valider dans Azure Repos.

  3. Dans la boîte de dialogue Valider, modifiez le message de validation si nécessaire, puis choisissez Valider pour valider et envoyer les modifications à votre demande de tirage.

    Capture d’écran de la boîte de dialogue Valider dans Azure Repos.

Suivre les fichiers examinés

Les examinateurs de PR peuvent effectuer le suivi des fichiers révisés en choisissant Marquer comme révisé dans le menu d’options de fichier, ou en cochant la case à côté d'un fichier ou d'un dossier :

Capture d’écran de l’option « Marquer comme relu » dans le menu des options du fichier, sous l’onglet Fichiers d’une PR.

Voter sur les modifications apportées à la demande de tirage

Les réviseurs de demandes de tirage peuvent voter sur une demande de tirage en sélectionnant une option de vote dans la liste déroulante des votes. L’icône du réviseur sur la page de PR indique le vote.

Screenshot des options de vote dans une Azure Repos PR.

Les options de vote sont les suivantes :

  • Approuver : approuve les modifications proposées dans la PR. Cette option correspond à un vote et ne finalise pas la PR.
  • Approuver avec des suggestions : approuve les modifications proposées avec des suggestions facultatives d’amélioration. Cette option correspond à un vote et ne finalise pas la PR.
  • Attendez l’auteur : demande à l’auteur de passer en revue les commentaires du réviseur. L’auteur de la PR doit indiquer aux réviseurs de réexaminer le code après avoir pris en compte les commentaires. Si un réviseur requis définit cette option, son vote empêche l’approbation de la PR.
  • Rejeter : indique que les modifications ne sont pas acceptables. Lorsque vous choisissez cette option, ajoutez un commentaire expliquant pourquoi. Si un réviseur requis définit cette option, son vote empêche l’approbation de la PR.
  • Réinitialiser les commentaires : efface votre vote. L’absence d’un vote n’empêche pas une demande de tirage d’être terminée.

Terminer une demande de tirage

Les auteurs de demandes de tirage peuvent sélectionner une option de résolution de demande de tirage :

Capture d’écran des options de résolution dans une PR Azure Repos.

  • Terminer : terminez la PR maintenant si tous les réviseurs requis l’ont approuvée et si toutes les stratégies de branche requises sont respectées.
  • Définir la finalisation automatique : finalisez automatiquement la PR lorsque tous les réviseurs requis ont donné leur approbation et que toutes les politiques de branche requises sont respectées.
  • Marquer comme brouillon : définissez la PR comme brouillon pour indiquer qu’elle n’est pas prête à être examinée. Pour une PR en brouillon, sélectionnez Publier pour retirer le statut de brouillon et la marquer comme prête pour révision.
  • Abandonner : fermer la PR. Pour une PR abandonnée, sélectionnez Réactiver pour la restaurer.

Pour plus d’informations, consultez Finaliser la pull request.

Étape suivante