Skip to main content

Récupération de mannequins pour GitHub Enterprise Importer

Après votre migration, vous pouvez affecter l’historique d’une identité d’espace réservé, ou mannequin, à un membre de votre organisation.

Qui peut utiliser cette fonctionnalité ?

Organization owners can reclaim mannequins.

À propos des mannequins

Après avoir exécuté une migration avec GitHub Enterprise Importer, toutes les activités utilisateur dans le dépôt migré (à l’exception des commits Git) sont attribuées à des identités d’espace réservé appelées mannequins.

Chaque mannequin a uniquement un nom d’affichage, qui provient du nom d’affichage dans le dépôt source. Les mannequins n’ont pas d’appartenance à l’organisation ou d’accès au dépôt. Les mannequins utilisent toujours le même avatar, un octocat fantôme, et incluent une étiquette mannequin qui suit le nom d’affichage.

Capture d’écran de l’en-tête d’un commentaire de problème. Le commentateur est étiqueté mannequin, et l’étiquette « Mannequin » est encadré en orange foncé.

Vous pouvez réattribuer l’historique de chaque mannequin à un membre de l’organisation avec GitHub CLI ou dans votre navigateur. Si vous utilisez GitHub CLI, vous pouvez récupérer des mannequins en bloc.

La récupération est facultative et peut se produire à tout moment après la fin d’une migration. C’est pourquoi vous pouvez autoriser votre équipe à commencer à travailler dans les dépôts migrés avant de procéder à la récupération.

Les mannequins ne sont pas utilisés pour l’attribution de commits Git. Pour plus d’informations sur l’attribution de commits, consultez « Gestion de la création de commits » ci-dessous.

Récupération de mannequins

Vous pouvez récupérer des mannequins avec GitHub CLI (recommandé) ou le navigateur.

Par défaut, la récupération d’un mannequin envoie une invitation d’attribution à l’utilisateur cible.

L’utilisateur cible peut choisir d’accepter ou de refuser l’invitation. Lorsqu'un utilisateur accepte une invitation d'attribution, toutes les contributions précédemment attribuées au mannequin sont attribuées à l'utilisateur. Lors de futures migrations vers la même organisation, toutes les contributions provenant du même mannequin seront automatiquement récupérées pour le même utilisateur.

Si votre organisation utilise Enterprise Managed Users et que vous choisissez de récupérer des mannequins avec le GitHub CLI, vous pouvez éventuellement ignorer le processus d’invitation, récupérer immédiatement le mannequin sans l’approbation de l’utilisateur.

Remarques :

  • Vous ne pouvez pas récupérer les mannequins après avoir transféré un référentiel à une autre organisation. Si vous souhaitez transférer un référentiel vers une autre organisation après votre migration, vous devez récupérer les mannequins avant le transfert.
  • Lorsque vous récupérez des mannequins, vous ne pouvez cibler que les membres de l’organisation existants. Avant de tenter de récupérer un mannequin, vérifiez que l’utilisateur GitHub que vous souhaitez inviter est déjà ajouté à l’organisation.

GitHub Enterprise Importer ne migre pas l’accès utilisateur vers les dépôts. Après avoir récupérer les mannequins, si l’un des utilisateurs ne dispose pas déjà d’un accès approprié au référentiel via son appartenance à l’équipe, vous devez lui donner l’accès au référentiel séparément. Pour plus d’informations, consultez « Gestion de l’accès d’une personne à un dépôt d’organisation ».

Récupération de mannequins avec GitHub CLI (recommandé)

Vous pouvez utiliser GitHub CLI pour récupérer des mannequins individuellement ou en bloc. Pour plus d’informations sur l’installation et la mise à jour des extensions de migration pour GitHub CLI, consultez « À propos de GitHub Enterprise Importer ».

La commande exacte que vous devez utiliser dépend de l’extension de GitHub CLI que vous utilisez.

Récupération de mannequins avec l’GEI extension

Si votre source de migration est un produit GitHub, vous pouvez récupérer des mannequins avec l’GEI extension of the GitHub CLI.

Si vous n’avez pas encore de variable d’environnement GH_PAT défini pour un personal access token ayant accès à l’organisation de destination, ajoutez --github-target-pat TOKEN à chacune des commandes ci-dessous, en remplaçant TOKEN par le personal access token. Pour les exigences personal access token, consultez « Gestion de l'accès pour une migration entre les produits GitHub. »

  1. Si vous le souhaitez, pour récupérer des mannequins en bloc, créez un fichier CSV qui mappe les mannequins aux membres de l’organisation.

    • Pour générer un fichier CSV avec une liste de mannequins d’une organisation, utilisez la commande gh gei generate-mannequin-csv en remplaçant DESTINATION par l’organisation de destination et FILENAME par un nom de fichier pour le fichier CSV résultant.

      Si vous le souhaitez, pour inclure les mannequins qui ont déjà été récupérés, ajoutez l’indicateur --include-reclaimed.

      Shell
      gh gei generate-mannequin-csv --github-target-org DESTINATION --output FILENAME.csv
      
    • Modifiez le fichier CSV en ajoutant le nom d’utilisateur du membre de l’organisation qui correspond à chaque mannequin.

    • Enregistrez le fichier .

  2. Pour récupérer des mannequins, utilisez la commande gh gei reclaim-mannequin.

    • Pour récupérer des mannequins en bloc avec le fichier de mappage que vous avez créé précédemment, remplacez DESTINATION par l’organisation de destination et FILENAME par le nom du fichier de mappage.

      Shell
      gh gei reclaim-mannequin --github-target-org DESTINATION --csv FILENAME.csv
      
    • Pour récupérer un mannequin individuel, remplacez DESTINATION par l’organisation de destination, MANNEQUIN par la connexion du mannequin et USERNAME par le nom d’utilisateur du membre de l’organisation qui correspond au mannequin.

      S’il existe plusieurs mannequins avec la même connexion, vous pouvez remplacer --mannequin-user MANNEQUIN par --mannequin-ID ID, en remplaçant ID par l’ID du mannequin.

      Si votre organisation utilise Enterprise Managed Users et que vous souhaitez ignorer l’invitation d’attribution pour récupérer immédiatement le mannequin, ajoutez l’argument --skip-invitation.

      Shell
      gh gei reclaim-mannequin --github-target-org DESTINATION --mannequin-user MANNEQUIN --target-user USERNAME
      

Par défaut, le membre de l’organisation recevra une invitation par e-mail, et le mannequin ne sera pas récupéré tant que le membre n’aura pas accepté l’invitation.

Récupération de mannequins avec l’ADO2GH extension

Si votre source de migration est Azure DevOps, vous pouvez récupérer des mannequins avec l’ADO2GH extension of the GitHub CLI.

Si vous n’avez pas encore de variable d’environnement GH_PAT défini pour un personal access token ayant accès à l’organisation de destination, ajoutez --github-target-pat TOKEN à chacune des commandes ci-dessous, en remplaçant TOKEN par le personal access token. Pour les exigences personal access token, consultez « Gestion de l'accès pour une migration à partir d'Azure DevOps. »

  1. Si vous le souhaitez, pour récupérer des mannequins en bloc, créez un fichier CSV qui mappe les mannequins aux membres de l’organisation.

    • Pour générer un fichier CSV avec une liste de mannequins d’une organisation, utilisez la commande gh ado2gh generate-mannequin-csv en remplaçant DESTINATION par l’organisation de destination et FILENAME par un nom de fichier pour le fichier CSV résultant.

      Si vous le souhaitez, pour inclure les mannequins qui ont déjà été récupérés, ajoutez l’indicateur --include-reclaimed.

      Shell
      gh ado2gh generate-mannequin-csv --github-org DESTINATION --output FILENAME.csv
      
    • Modifiez le fichier CSV en ajoutant le nom d’utilisateur du membre de l’organisation qui correspond à chaque mannequin.

    • Enregistrez le fichier .

  2. Pour récupérer des mannequins, utilisez la commande gh ado2gh reclaim-mannequin.

    • Pour récupérer des mannequins en bloc avec le fichier de mappage que vous avez créé précédemment, remplacez DESTINATION par l’organisation de destination et FILENAME par le nom du fichier de mappage.

      Shell
      gh ado2gh reclaim-mannequin --github-org DESTINATION --csv FILENAME.csv
      
    • Pour récupérer un mannequin individuel, remplacez DESTINATION par l’organisation de destination, MANNEQUIN par la connexion du mannequin et USERNAME par le nom d’utilisateur du membre de l’organisation qui correspond au mannequin.

      S’il existe plusieurs mannequins avec la même connexion, vous pouvez remplacer --mannequin-user MANNEQUIN par --mannequin-ID ID, en remplaçant ID par l’ID du mannequin.

      Si votre organisation utilise Enterprise Managed Users et que vous souhaitez ignorer l’invitation d’attribution pour récupérer immédiatement le mannequin, ajoutez l’argument --skip-invitation.

      Shell
      gh ado2gh reclaim-mannequin --github-org DESTINATION --mannequin-user MANNEQUIN --target-user USERNAME
      

Par défaut, le membre de l’organisation recevra une invitation par e-mail, et le mannequin ne sera pas récupéré tant que le membre n’aura pas accepté l’invitation.

Récupération de mannequins dans votre navigateur

  1. Dans le coin supérieur droit de GitHub, sélectionnez votre photo de profil, puis cliquez sur Vos organisations.

  2. En regard de l’organisation, cliquez sur Paramètres.

  3. Dans la section « Accès » de la barre latérale, cliquez sur Importer/exporter.

  4. À droite du mannequin que vous souhaitez récupérer, cliquez sur Réattribuer.

  5. Dans le champ de recherche, tapez le nom d’utilisateur du membre d’organisation auquel vous souhaitez attribuer les contributions du mannequin, puis cliquez sur le membre.

    Remarque : Vous pouvez uniquement envoyer des invitations d’attribution aux comptes d’utilisateur qui sont déjà membres de l’organisation.

  6. Cliquez sur Invite. Par défaut, le membre de l’organisation recevra une invitation par e-mail, et le mannequin ne sera pas récupéré tant que le membre n’aura pas accepté l’invitation.

Affichage de l’état de vos invitations d’attribution

Vous pouvez afficher l’état de toutes les invitations d’attribution pour votre organisation.

  • Invité : L’utilisateur a reçu une invitation, mais n'y a pas encore répondu.
  • Terminé : l’utilisateur a accepté ou le processus d’invitation a été ignoré. Les contributions de l’utilisateur ont été réattribuées.
  • Refusé : L’utilisateur a choisi de ne pas être crédité pour les contributions du mannequin.
  1. Dans le coin supérieur droit de GitHub, sélectionnez votre photo de profil, puis cliquez sur Vos organisations.

  2. En regard de l’organisation, cliquez sur Paramètres.

  3. Dans la section « Accès » de la barre latérale, cliquez sur Importer/exporter.

  4. Sous «  Importer/exporter », cliquez sur Invitations d’attribution.

    Capture d’écran de la page « Importer/exporter » d’un dépôt. Un onglet intitulé « Invitations d’attribution » est encadré en orange foncé.

Gestion de la création de commits Git

La création de commits Git n’est pas associée aux mannequins et ne peut pas être attribuée aux utilisateurs GitHub en récupérant des mannequins. Au lieu de cela, la création de commits est attribuée aux comptes d’utilisateur dans GitHub sur la base de l’adresse e-mail qui a été utilisée pour créer le commit dans Git.

Dans de nombreux cas, les utilisateurs peuvent se réattribuer des commits en ajoutant l’adresse e-mail utilisée pour créer le commit à leur compte d’utilisateur dans GitHub. Pour plus d’informations, consultez « Ajout d’une adresse e-mail à votre compte GitHub ».

Toutefois, si vous utilisez Enterprise Managed Users, les utilisateurs ne peuvent pas ajouter d’adresses e-mail à leur compte d’utilisateur dans GitHub et ne peuvent donc pas se réattribuer des commits Git. Seuls les commits créés par l’adresse e-mail principale d’un utilisateur dans votre fournisseur d’identité (IdP) sont attribués à comptes d’utilisateur managés.

De plus, les commits créés par une adresse e-mail noreply fournie par GitHub ne peuvent pas être réattribués, car vous ne pouvez pas ajouter manuellement d’adresse e-mail noreply à un compte d’utilisateur. Pour plus d’informations, consultez « Définition de votre adresse e-mail de commit ».