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 le Support GitHub pour obtenir une aide supplémentaire.
- 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 GitHub Packages ».
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/OWNER/PACKAGE-NAME
, vous devez avoir un accès administrateur au package. Pour plus d’informations, consultez « À propos des autorisations pour GitHub Packages ».
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 GitHub Packages ».
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 limité au dépôt , vous devez avoir des 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. 1. À droite de la liste de fichiers, cliquez sur Packages.
3. Recherchez et sélectionnez votre package.
- En haut à droite de la page d’accueil de votre package, cliquez sur Paramètres du package.
- Sur la gauche, cliquez sur Gérer les versions.
- À droite de la version à supprimer, cliquez sur , puis sélectionnez Supprimer la version.
- 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 GitHub Packages ».
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 « À propos de GitHub Packages ».
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 deletePackageVersion
, consultez «deletePackageVersion
».
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. 1. À droite de la liste de fichiers, cliquez sur Packages.
3. Recherchez et sélectionnez votre package.
- En haut à droite de la page d’accueil de votre package, cliquez sur Paramètres du package.
- Sous « Zone de danger », cliquez sur Supprimer ce package.
- Pour confirmer, révisez le message de confirmation, entrez le nom de votre package, puis cliquez sur Je comprends, 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 avez un package RubyGems supprimé nommé octo-package
dont la portée était étendue au dépôt octo-repo-owner/octo-repo
, vous ne pouvez le restaurer que si l’espace de noms du package rubygem.pkg.github.com/octo-repo-owner/octo-repo/octo-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 dépôt propriétaire du package supprimé.
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é via les paramètres de votre compte d’organisation, si le package se trouvait dans un référentiel appartenant à l’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. 1. Sous le nom de votre organisation, 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’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.
- Sur la droite, cliquez sur Paramètres du package.
- Sur la gauche, cliquez sur Gérer les versions.
- En haut à droite, utilisez le menu déroulant « Versions », puis 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.