Prise en charge de la suppression et de la restauration de package sur GitHub
Sur GitHub, si vous disposez de l'accès requis, vous pouvez supprimer :
- un package privé entier
- un package public entier s'il n'y a pas plus de 5 000 téléchargements d'une version du package
- une version spécifique d'un package privé
- une version spécifique d'un package public si la version du package n'a pas plus de 5 000 téléchargements
Remarque :
- Vous ne pouvez pas supprimer un package public si une version de celui-ci compte plus de 5 000 téléchargements. Dans ce scénario, contactez-nous via le Portail de support GitHub pour obtenir de l'aide.
- Lorsque vous supprimez des packages publics, sachez que cela risque de perturber des projets qui dépendent de votre package.
Sur GitHub, vous pouvez également restaurer un package entier ou une version package si :
- Vous restaurez le package dans les 30 jours suivant sa suppression.
- Le même espace de noms de package est toujours disponible et n'est pas utilisé pour un nouveau package.
Prise en charge de l'API Packages
Pour certains registres, vous pouvez utiliser GraphQL pour supprimer une version d’un package privé.
Vous ne pouvez pas utiliser l’API GraphQL GitHub Packages avec des registres qui prennent en charge les autorisations granulaires. Pour les registres qui prennent uniquement en charge les autorisations limitées au dépôt et qui peuvent être utilisés avec l’API GraphQL, consultez « À propos des autorisations pour les packages GitHub ».
Autorisations requises pour supprimer ou restaurer un package
Avec les registres qui prennent en charge les autorisations granulaires, vous pouvez choisir d'autoriser que les packages soient limités à un utilisateur ou à une organisation, ou liés à un dépôt.
Pour supprimer un package qui a des autorisations granulaires distinctes d'un dépôt, comme les images conteneur stockées dans https://containers.HOSTNAME/NAMESPACE/PACKAGE-NAME
(où NAMESPACE
est le nom du compte personnel ou de l'organisation auquel le package est délimité), vous devez avoir un accès administrateur au package. Pour plus d'informations, consultez « À propos des autorisations pour les packages GitHub ».
Pour les packages qui héritent de leurs autorisations d'accès à partir de dépôts, vous pouvez supprimer un package si vous disposez d'autorisations d'administrateur sur le dépôt.
Certains registres prennent uniquement en charge les packages limités au dépôt. Pour obtenir la liste de ces registres, consultez « À propos des autorisations pour les packages GitHub ».
Suppression d'une version de package
Suppression d'une version d'un package limité au dépôt sur GitHub
Pour supprimer une version d'un package délimité à un dépôt , vous devez avoir des autorisations d'administrateur sur le dépôt dans lequel le package est publié. Pour plus d'informations, consultez « Autorisations requises ».
-
Dans votre instance GitHub Enterprise Server, accédez à la page principale du dépôt.
-
Dans la barre latérale droite de votre dépôt, cliquez sur Packages.
-
Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.
-
Accédez à l’emplacement où vous pouvez gérer les versions pour votre type de package.
- Si votre package est un conteneur, sous la section « Versions récentes », cliquez sur Afficher et gérer toutes les versions.
- Pour les types de packages autres que les conteneurs :
- Sur le côté droit, cliquez sur Paramètres du package.
- Sur la gauche, cliquez sur Gérer les versions.
-
Dans la liste des packages, recherchez la version du package que vous souhaitez supprimer.
- Si votre package est un conteneur, à droite de la version du package, cliquez sur , puis sélectionnez Supprimer la version dans le menu déroulant.
- Pour les types de packages autres que les conteneurs, à droite de la version du package, cliquez sur Supprimer.
-
Pour confirmer la suppression, tapez le nom du package, puis cliquez sur Je comprends les conséquences, supprimer cette version.
Suppression d'une version d'un package limité au dépôt avec GraphQL
Pour certains registres, vous pouvez utiliser GraphQL pour supprimer une version d’un package privé.
Vous ne pouvez pas utiliser l’API GraphQL GitHub Packages avec des registres qui prennent en charge les autorisations granulaires. Pour les registres qui prennent uniquement en charge les autorisations limitées au dépôt et qui peuvent être utilisés avec l’API GraphQL, consultez « À propos des autorisations pour les packages GitHub ».
Utilisez la mutation deletePackageVersion
dans l'API GraphQL. Vous devez utiliser un personal access token avec les étendues read:packages
, delete:packages
et repo
. Pour plus d'informations sur les personal access tokens, consultez « Introduction aux packages GitHub ».
L'exemple suivant montre comment supprimer une version de package à l'aide d'un packageVersionId
de MDIyOlJlZ2lzdHJ5UGFja2FnZVZlcnNpb243MTExNg
.
curl -X POST \
-H "Accept: application/vnd.github.package-deletes-preview+json" \
-H "Authorization: bearer TOKEN" \
-d '{"query":"mutation { deletePackageVersion(input:{packageVersionId:\"MDIyOlJlZ2lzdHJ5UGFja2FnZVZlcnNpb243MTExNg==\"}) { success }}"}' \
HOSTNAME/graphql
Pour trouver tous les packages privés que vous avez publiés sur GitHub Packages, ainsi que les ID de version des packages, vous pouvez utiliser la connexion packages
via l'objet repository
. Vous aurez besoin d'un personal access token avec les étendues read:packages
et repo
. Pour plus d'informations, consultez la connexion packages
ou l'interface PackageOwner
.
Pour plus d'informations sur la mutation de deletePackageVersion
, consultez « Mutations ».
Vous ne pouvez pas supprimer directement un package entier à l'aide de l'API GraphQL mais, si vous supprimez chaque version d'un package, le package n'apparaîtra plus sur GitHub Enterprise Server.
Suppression d'un package entier
Suppression d'un package entier de portée de dépôt sur GitHub
Pour supprimer un package étendu à un dépôt entier, vous devez disposer d'autorisations d'administrateur sur le dépôt propriétaire du package. Pour plus d'informations, consultez « Autorisations requises ».
-
Dans votre instance GitHub Enterprise Server, accédez à la page principale du dépôt.
-
Dans la barre latérale droite de votre dépôt, cliquez sur Packages.
-
Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.
-
Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.
-
En bas de la page, sous « Zone de danger », cliquez sur Supprimer ce package.
-
Pour confirmer, lisez le message de confirmation, entrez le nom de votre package et cliquez sur Je comprends, supprimer ce package.
Suppression d'un package entier de portée d'utilisateur sur GitHub
Pour voir qui peut supprimer un package, consultez « Autorisations requises ».
-
Sur GitHub, accédez à la page principale de votre compte personnel.
-
Dans l’angle supérieur droit de GitHub Enterprise Server, cliquez sur votre photo de profil, puis sur Votre profil.
-
Dans la page de votre profil, dans l’en-tête, cliquez sur l’onglet Packages.
-
Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.
-
Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.
-
Sur la gauche, cliquez sur Options.
-
En bas de la page, sous « Zone de danger », cliquez sur Supprimer ce package.
-
Dans la zone de confirmation, tapez le nom du package pour confirmer sa suppression.
-
Cliquez sur Je comprends les conséquences, supprimer ce package.
Suppression d'un package entier de portée d'organisation sur GitHub
Pour voir qui peut supprimer un package, consultez « Autorisations requises ».
-
Sur GitHub, accédez à la page principale de votre organisation.
-
Sous le nom de votre organisation, cliquez sur l’onglet Packages.
-
Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.
-
Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.
-
Sur la gauche, cliquez sur Options.
-
En bas de la page, sous « Zone de danger », cliquez sur Supprimer ce package.
-
Dans la zone de confirmation, tapez le nom du package pour confirmer sa suppression.
-
Cliquez sur Je comprends les conséquences, supprimer ce package.
Restauration de packages
Vous pouvez restaurer un package ou une version supprimés si :
- Vous restaurez le package dans les 30 jours suivant sa suppression.
- Les mêmes espace de noms et version de package sont toujours disponibles et ne sont pas réutilisés pour un nouveau package.
Par exemple, si vous êtes l'utilisateur octocat
et avez un package RubyGems supprimé nommé my-package
qui a délimité au dépôt octocat/my-repo
, vous pouvez le restaurer seulement si l'espace de noms du package rubygem.pkg.github.com/octocat/my-repo/my-package
est toujours disponible, et si 30 jours ne se sont pas encore écoulés.
Pour supprimer un package, vous devez également disposer d'autorisations d'administrateur sur le référentiel dans lequel le package est publié.
Pour plus d'informations, consultez « Autorisations requises ».
Une fois le package restauré, il utilise le même espace de noms qu'auparavant. Si le même espace de noms de package n'est pas disponible, vous ne pourrez pas restaurer votre package. Dans ce scénario, pour pouvoir restaurer le package supprimé, vous devez au préalable supprimer le nouveau package qui utilise l'espace de noms du package supprimé.
Restauration d'un package dans une organisation
Vous pouvez restaurer un package supprimé à l'aide des paramètres de votre compte d'organisation si le package se trouvait dans un dépôt appartenant à l'organisation ou avait des autorisations granulaires et était délimité à votre compte d'organisation.
Pour voir qui peut restaurer un package dans une organisation, consultez « Autorisations requises ».
-
Sur votre instance GitHub Enterprise Server, accédez à la page principale de l’organisation.
-
Sous le nom de votre organisation, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.
-
Sur la gauche, cliquez sur Packages.
-
Sous « Packages supprimés », en regard du package que vous souhaitez restaurer, cliquez sur Restaurer.
-
Pour confirmer, tapez le nom du package, puis cliquez sur Je comprends les conséquences, restaurer ce package.
Restauration d'un package de portée de compte d'utilisateur
Vous pouvez restaurer un package supprimé via les paramètres de votre compte personnel, si le package se trouvait dans l'un de vos dépôts, ou si sa portée était étendue à votre compte personnel. Pour plus d'informations, consultez « Autorisations requises ».
-
Dans le coin supérieur droit d’une page, cliquez sur votre photo de profil, puis sur Paramètres.
-
Dans la barre latérale gauche, cliquez sur Packages.
-
Sous « Packages supprimés », en regard du package que vous souhaitez restaurer, cliquez sur Restaurer.
-
Pour confirmer, tapez le nom du package, puis cliquez sur Je comprends les conséquences, restaurer ce package.
Restauration d'une version de package
Vous pouvez restaurer une version de package à partir de la page d'accueil de votre package. Pour voir qui peut restaurer un package, consultez « Autorisations requises ».
-
Accédez à la page d'accueil de votre package.
-
Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.
-
Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.
-
Accédez à l’emplacement où vous pouvez gérer les versions pour votre type de package.
- Si votre package est un conteneur, sous la section « Versions récentes », cliquez sur Afficher et gérer toutes les versions.
- Pour les types de packages autres que les conteneurs :
- Sur le côté droit, cliquez sur Paramètres du package.
- Sur la gauche, cliquez sur Gérer les versions.
-
En haut à droite de la liste des versions de package, utilisez la liste déroulante Sélectionner la vue des versions et sélectionnez Supprimé.
-
En regard de la version de package supprimée que vous souhaitez restaurer, cliquez sur Restaurer.
-
Pour confirmer, cliquez sur Je comprends les conséquences, restaurer cette version.