GitHubにおけるパッケージの削除および復元のサポート
GitHubでは、必要なアクセス権がある場合、以下を削除できます。
- プライベートパッケージ全体
- パッケージの全バージョンでダウンロード数が 5000 以下の場合、パブリック パッケージ全体
- プライベートパッケージの特定のバージョン
- パッケージ バージョンのダウンロード数が 5,000 以下の場合、パブリック パッケージの特定のバージョン
注:
- パッケージのいずれかのパージョンでダウンロード数が 5,000 を超えている場合は、パブリック パッケージを削除できません。 この場合は、GitHub サポートまでお問い合わせください。
- パブリックパッケージを削除する場合、そのパッケージに依存するプロジェクトを破壊する可能性があることに注意してください。
GitHubでは、以下の場合にパッケージ全体またはパッケージバージョンを復元できます。
- 削除後30日以内にパッケージを復元する。
- 同じパッケージ名前空間が現在も使用可能であり、新しいパッケージに使用されていない場合。
パッケージAPIのサポート
特定のレジストリでは、GraphQL を使ってプライベート パッケージのバージョンを削除することができます。
詳細なアクセス許可をサポートするレジストリとともに GitHub Packages GraphQL API を使うことはできません。 リポジトリがスコープされたアクセス許可のみをサポートし、GraphQL API で使用できるレジストリについては、「GitHub Packages のアクセス許可について」をご覧ください。
パッケージの削除や復元に必要な権限
詳細なアクセス許可をサポートするレジストリでは、パッケージをユーザーまたは組織にスコープ指定するか、リポジトリにリンクすることを許可できます。
https://containers.HOSTNAME/OWNER/PACKAGE-NAME
に保存されているコンテナー イメージなど、リポジトリとは別の詳細なアクセス許可を持つパッケージを削除するには、パッケージへの管理者アクセス権が必要です。 詳細については、「GitHub Packages のアクセス許可について」を参照してください。
リポジトリからアクセス許可を継承するパッケージの場合、リポジトリに対する管理者アクセス許可があれば、パッケージを削除できます。
一部のレジストリは、リポジトリがスコープ指定されたパッケージのみをサポートします。 そのようなレジストリの一覧については、「GitHub Packages のアクセス許可について」をご覧ください。
パッケージのバージョンを削除する
GitHub 上のリポジトリがスコープ指定されたパッケージのバージョンを削除する
リポジトリがスコープ指定されたパッケージのバージョンを削除するには、パッケージを所有するリポジトリに対する管理者アクセス許可が必要です。 詳細については、「必要なアクセス許可」を参照してください。
- your GitHub Enterprise Server instance で、リポジトリのメイン ページへ移動します。 1. ファイルの一覧の右側にある [パッケージ] をクリックします。
3. パッケージを検索して選択してください。
- パッケージのランディング ページの右上にある [パッケージ設定] をクリックします。
- 左側の [バージョンの管理] をクリックします。
- 削除するバージョンの右側で、 をクリックした後、 [バージョンの削除] を選択します。
- 削除を確認するために、パッケージ名を入力し、 I understand the consequences, delete this version をクリックします。
GraphQL を使用してリポジトリがスコープ指定されたパッケージのバージョンを削除する
特定のレジストリでは、GraphQL を使ってプライベート パッケージのバージョンを削除することができます。
詳細なアクセス許可をサポートするレジストリとともに GitHub Packages GraphQL API を使うことはできません。 リポジトリがスコープされたアクセス許可のみをサポートし、GraphQL API で使用できるレジストリについては、「GitHub Packages のアクセス許可について」をご覧ください。
GraphQL API の deletePackageVersion
ミューテーションを使ってください。 read:packages
、delete:packages
、repo
のスコープとともに personal access token を使う必要があります。 personal access tokens について詳しくは、「GitHub Packages について」をご覧ください。
以下の例では、MDIyOlJlZ2lzdHJ5UGFja2FnZVZlcnNpb243MTExNg
の packageVersionId
を使用して、パッケージ バージョンを削除する方法を示します。
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
GitHub Packages に公開したすべてのプライベート パッケージをバージョン ID と併せて見つけるには、repository
オブジェクトを通じて packages
コネクションを使うことができます。 read:packages
と repo
スコープを含む personal access token が必要になります。 詳細については、packages
コネクションまたは PackageOwner
インターフェイスを参照してください。
deletePackageVersion
ミューテーションの詳細については、「deletePackageVersion
」を参照してください。
GraphQLを使用してパッケージ全体を直接削除することはできませんが、パッケージのすべてのバージョンを削除すれば、パッケージはGitHub Enterprise Server上に表示されなくなります。
パッケージ全体を削除する
GitHub上でリポジトリのスコープが付いたパッケージ全体を削除する
リポジトリのスコープが付いたパッケージ全体を削除するには、パッケージを所有するリポジトリの管理者権限が必要です。 詳細については、「必要なアクセス許可」を参照してください。
- your GitHub Enterprise Server instance で、リポジトリのメイン ページへ移動します。 1. ファイルの一覧の右側にある [パッケージ] をクリックします。
3. パッケージを検索して選択してください。
- パッケージのランディング ページの右上にある [パッケージ設定] をクリックします。
- [危険なゾーン] の Delete this package をクリックします。
- 確認メッセージを読み、パッケージ名を入力してから、 I understand, delete this package. をクリックします。
パッケージを復元する
以下の場合、削除したパッケージまたはバージョンを復元できます。
- 削除後30日以内にパッケージを復元する。
- 同一のパッケージ名前空間がまだ使用可能であり、新しいパッケージで再使用されていない。
たとえば、リポジトリ octo-repo-owner/octo-repo
のスコープが付いていた、octo-package
という名前の Rubygem パッケージを削除した場合、パッケージ名前空間 rubygem.pkg.github.com/octo-repo-owner/octo-repo/octo-package
がまだ使用可能で、かつ 30 日が経過していない場合にのみ、そのパッケージを復元できます。
削除されたパッケージについては、その削除されたパッケージを所有するリポジトリに対する管理権限も持っていなければなりません。
詳細については、「必要なアクセス許可」を参照してください。
パッケージが復元されると、そのパッケージは以前使用していたものと同じ名前空間を使用します。 同一のパッケージ名前空間が使用可能でない場合、パッケージを復元できません。 この場合、削除したパッケージを復元するには、まず削除したパッケージの名前空間を使用する新しいパッケージを削除する必要があります。
Organization内のパッケージを復元する
削除されたパッケージは、そのパッケージが組織の所有するリポジトリ内にあったなら、組織アカウントの設定を通じて復元できます。
組織でパッケージを復元できるユーザーを確認するには、「必要なアクセス許可」を参照してください。
- your GitHub Enterprise Server instance で、Organization のメイン ページへ移動します。 1. Organization 名の下で、 [設定] をクリックします。
- 左側の [パッケージ] をクリックします。
- Deleted Packages の、復元するパッケージの隣にある [復元] をクリックします。
- 確認のため、パッケージ名を入力し、 I understand the consequences, restore this package をクリックします。
パッケージのバージョンを復元する
パッケージのランディングページから、パッケージのバージョンを復元できます。 パッケージを復元できるユーザーを確認するには、「必要なアクセス許可」を参照してください。
- パッケージのランディングページに移動します。
- 右側の [パッケージ設定] をクリックします。
- 左側の [バージョンの管理] をクリックします。
- 左上の [バージョン] ドロップダウン メニューで、 [削除済み] を選択します。
- 復元する削除済みパッケージのバージョンの横にある [復元] をクリックします。
- 確認のために、 I understand the consequences, restore this version をクリックします。