Пакеты
Используйте REST API для взаимодействия с GitHub Packages.
Сведения о GitHub Packages
С помощью REST API можно управлять пакетами в репозиториях и организациях GitHub. Дополнительные сведения см. в разделе Восстановление и удаление пакетов.
Чтобы использовать REST API для управления GitHub Packages, необходимо пройти проверку подлинности с помощью personal access token (classic).
- Чтобы получить доступ к метаданным пакета, маркер должен включать область
read:packages. - Чтобы удалить пакеты и версии пакетов, маркер должен включать области
read:packagesиdelete:packages. - Чтобы восстановить пакеты и версии пакетов, маркер должен включать области
read:packagesиwrite:packages.
Если пакет находится в реестре, который поддерживает детализированные разрешения, маркеру не требуется repo область для доступа к этому пакету или управления им. Если пакет находится в реестре, который поддерживает только разрешения на уровне репозитория, то маркер должен также включать repo область, так как пакет наследует разрешения от репозитория GitHub. Список реестров, которые поддерживают только разрешения на уровне репозитория, см. в разделе Сведения о разрешениях для GitHub Packages.
Чтобы получить доступ к ресурсам в организации с включенным единым входом, необходимо включить единый вход для personal access token (classic). Дополнительные сведения см. в разделе Авторизация personal access token для использования с единым вхожением SAMLв документации по GitHub Enterprise Cloud.
List packages for an organization
Lists all packages in an organization readable by the user.
To use this endpoint, you must authenticate using an access token with the read:packages scope. If the package_type belongs to a registry that only supports repository-scoped permissions, your token must also include the repo scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "About permissions for GitHub Packages."
Параметры
| Заголовки |
|---|
| Имя, Тип, Описание |
acceptstringSetting to |
| Параметры пути |
| Имя, Тип, Описание |
orgstringОбязательноThe organization name. The name is not case sensitive. |
| Параметры запроса |
| Имя, Тип, Описание |
package_typestringОбязательноThe type of supported package. Packages in GitHub's Gradle registry have the type Может быть одним из: |
visibilitystringThe selected visibility of the packages. This parameter is optional and only filters an existing result set. The Может быть одним из: |
Коды состояния HTTP-ответа
| Код состояния | Описание |
|---|---|
200 | OK |
401 | Requires authentication |
403 | Forbidden |
Примеры кода
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/packages?package_type=containerResponse
Status: 200[
{
"id": 197,
"name": "hello_docker",
"package_type": "container",
"owner": {
"login": "github",
"id": 9919,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=",
"avatar_url": "https://avatars.githubusercontent.com/u/9919?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/github",
"html_url": "https://github.com/github",
"followers_url": "https://api.github.com/users/github/followers",
"following_url": "https://api.github.com/users/github/following{/other_user}",
"gists_url": "https://api.github.com/users/github/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github/subscriptions",
"organizations_url": "https://api.github.com/users/github/orgs",
"repos_url": "https://api.github.com/users/github/repos",
"events_url": "https://api.github.com/users/github/events{/privacy}",
"received_events_url": "https://api.github.com/users/github/received_events",
"type": "Organization",
"site_admin": false
},
"version_count": 1,
"visibility": "private",
"url": "https://api.github.com/orgs/github/packages/container/hello_docker",
"created_at": "2020-05-19T22:19:11Z",
"updated_at": "2020-05-19T22:19:11Z",
"html_url": "https://github.com/orgs/github/packages/container/package/hello_docker"
},
{
"id": 198,
"name": "goodbye_docker",
"package_type": "container",
"owner": {
"login": "github",
"id": 9919,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=",
"avatar_url": "https://avatars.githubusercontent.com/u/9919?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/github",
"html_url": "https://github.com/github",
"followers_url": "https://api.github.com/users/github/followers",
"following_url": "https://api.github.com/users/github/following{/other_user}",
"gists_url": "https://api.github.com/users/github/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github/subscriptions",
"organizations_url": "https://api.github.com/users/github/orgs",
"repos_url": "https://api.github.com/users/github/repos",
"events_url": "https://api.github.com/users/github/events{/privacy}",
"received_events_url": "https://api.github.com/users/github/received_events",
"type": "Organization",
"site_admin": false
},
"version_count": 2,
"visibility": "private",
"url": "https://api.github.com/orgs/github/packages/container/goodbye_docker",
"created_at": "2020-05-20T22:19:11Z",
"updated_at": "2020-05-20T22:19:11Z",
"html_url": "https://github.com/orgs/github/packages/container/package/goodbye_docker"
}
]Get a package for an organization
Gets a specific package in an organization.
To use this endpoint, you must authenticate using an access token with the read:packages scope. If the package_type belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the repo scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "About permissions for GitHub Packages."
Параметры
| Заголовки |
|---|
| Имя, Тип, Описание |
acceptstringSetting to |
| Параметры пути |
| Имя, Тип, Описание |
package_typestringОбязательноThe type of supported package. Packages in GitHub's Gradle registry have the type Может быть одним из: |
package_namestringОбязательноThe name of the package. |
orgstringОбязательноThe organization name. The name is not case sensitive. |
Коды состояния HTTP-ответа
| Код состояния | Описание |
|---|---|
200 | OK |
Примеры кода
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/packages/PACKAGE_TYPE/PACKAGE_NAMEResponse
Status: 200{
"id": 197,
"name": "hello_docker",
"package_type": "container",
"owner": {
"login": "github",
"id": 9919,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=",
"avatar_url": "https://avatars.githubusercontent.com/u/9919?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/github",
"html_url": "https://github.com/github",
"followers_url": "https://api.github.com/users/github/followers",
"following_url": "https://api.github.com/users/github/following{/other_user}",
"gists_url": "https://api.github.com/users/github/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github/subscriptions",
"organizations_url": "https://api.github.com/users/github/orgs",
"repos_url": "https://api.github.com/users/github/repos",
"events_url": "https://api.github.com/users/github/events{/privacy}",
"received_events_url": "https://api.github.com/users/github/received_events",
"type": "Organization",
"site_admin": false
},
"version_count": 1,
"visibility": "private",
"url": "https://api.github.com/orgs/github/packages/container/hello_docker",
"created_at": "2020-05-19T22:19:11Z",
"updated_at": "2020-05-19T22:19:11Z",
"html_url": "https://github.com/orgs/github/packages/container/package/hello_docker"
}Delete a package for an organization
Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance.
To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the read:packages and delete:packages scopes. In addition:
- If the
package_typebelongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include thereposcope. For the list of these registries, see "About permissions for GitHub Packages." - If the
package_typebelongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "About permissions for GitHub Packages."
Параметры
| Заголовки |
|---|
| Имя, Тип, Описание |
acceptstringSetting to |
| Параметры пути |
| Имя, Тип, Описание |
package_typestringОбязательноThe type of supported package. Packages in GitHub's Gradle registry have the type Может быть одним из: |
package_namestringОбязательноThe name of the package. |
orgstringОбязательноThe organization name. The name is not case sensitive. |
Коды состояния HTTP-ответа
| Код состояния | Описание |
|---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource |