包
使用 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 的权限”。
若要访问启用了 SSO 的组织中的资源,必须为 personal access token (classic) 启用 SSO。 有关详细信息,请参阅 GitHub Enterprise Cloud 文档中的“授权用于 SAML 单点登录的个人访问令牌."
Get list of conflicting packages during Docker migration for organization
Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration.
To use this endpoint, you must authenticate using an access token with the read:packages
scope.
“Get list of conflicting packages during Docker migration for organization”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
org string 必须The organization name. The name is not case sensitive. |
“Get list of conflicting packages during Docker migration for organization”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
401 | Requires authentication |
403 | Forbidden |
“Get list of conflicting packages during Docker migration for organization”的示例代码
curl -L \
-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/docker/conflicts
Response
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"
}
]
List packages for an organization
Lists 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."
“List packages for an organization”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
org string 必须The organization name. The name is not case sensitive. |
查询参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
visibility string The selected visibility of the packages. This parameter is optional and only filters an existing result set. The 可以是以下选项之一: |
page integer Page number of the results to fetch. 默认: |
per_page integer The number of results per page (max 100). 默认: |
“List packages for an organization”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
400 | The value of |
401 | Requires authentication |
403 | Forbidden |
“List packages for an organization”的示例代码
curl -L \
-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=container
Response
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."
“Get a package for an organization”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
package_name string 必须The name of the package. |
org string 必须The organization name. The name is not case sensitive. |
“Get a package for an organization”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
“Get a package for an organization”的示例代码
curl -L \
-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_NAME
Response
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_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include therepo
scope. For the list of these registries, see "About permissions for GitHub Packages." - If the
package_type
belongs 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."
“Delete a package for an organization”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
package_name string 必须The name of the package. |
org string 必须The organization name. The name is not case sensitive. |
“Delete a package for an organization”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
“Delete a package for an organization”的示例代码
curl -L \
-X DELETE \
-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_NAME
Response
Status: 204
Restore a package for an organization
Restores an entire package in an organization.
You can restore a deleted package under the following conditions:
- The package was deleted within the last 30 days.
- The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first.
To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the read:packages
and write:packages
scopes. In addition:
- If the
package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include therepo
scope. For the list of these registries, see "About permissions for GitHub Packages." - If the
package_type
belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "About permissions for GitHub Packages."
“Restore a package for an organization”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
package_name string 必须The name of the package. |
org string 必须The organization name. The name is not case sensitive. |
查询参数 |
名称, 类型, 说明 |
token string package token |
“Restore a package for an organization”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
“Restore a package for an organization”的示例代码
curl -L \
-X POST \
-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_NAME/restore
Response
Status: 204
List package versions for a package owned by an organization
Lists package versions for a package owned by an organization.
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."
“List package versions for a package owned by an organization”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
package_name string 必须The name of the package. |
org string 必须The organization name. The name is not case sensitive. |
查询参数 |
名称, 类型, 说明 |
page integer Page number of the results to fetch. 默认: |
per_page integer The number of results per page (max 100). 默认: |
state string The state of the package, either active or deleted. 默认: 可以是以下选项之一: |
“List package versions for a package owned by an organization”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
“List package versions for a package owned by an organization”的示例代码
curl -L \
-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_NAME/versions
Response
Status: 200
[
{
"id": 245301,
"name": "1.0.4",
"url": "https://api.github.com/orgs/octo-org/packages/npm/hello-world-npm/versions/245301",
"package_html_url": "https://github.com/octo-org/hello-world-npm/packages/43752",
"created_at": "2019-11-05T22:49:04Z",
"updated_at": "2019-11-05T22:49:04Z",
"html_url": "https://github.com/octo-org/hello-world-npm/packages/43752?version=1.0.4",
"metadata": {
"package_type": "npm"
}
},
{
"id": 209672,
"name": "1.0.3",
"url": "https://api.github.com/orgs/octo-org/packages/npm/hello-world-npm/versions/209672",
"package_html_url": "https://github.com/octo-org/hello-world-npm/packages/43752",
"created_at": "2019-10-29T15:42:11Z",
"updated_at": "2019-10-29T15:42:12Z",
"html_url": "https://github.com/octo-org/hello-world-npm/packages/43752?version=1.0.3",
"metadata": {
"package_type": "npm"
}
}
]
Get a package version for an organization
Gets a specific package version in an organization.
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."
“Get a package version for an organization”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
package_name string 必须The name of the package. |
org string 必须The organization name. The name is not case sensitive. |
package_version_id integer 必须Unique identifier of the package version. |
“Get a package version for an organization”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
“Get a package version for an organization”的示例代码
curl -L \
-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_NAME/versions/PACKAGE_VERSION_ID
Response
Status: 200
{
"id": 836,
"name": "sha256:b3d3e366b55f9a54599220198b3db5da8f53592acbbb7dc7e4e9878762fc5344",
"url": "https://api.github.com/orgs/github/packages/container/hello_docker/versions/836",
"package_html_url": "https://github.com/orgs/github/packages/container/package/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/hello_docker/836",
"metadata": {
"package_type": "container",
"container": {
"tags": [
"latest"
]
}
}
}
Delete package version for an organization
Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. 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_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include therepo
scope. For the list of these registries, see "About permissions for GitHub Packages." - If the
package_type
belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "About permissions for GitHub Packages."
“Delete package version for an organization”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
package_name string 必须The name of the package. |
org string 必须The organization name. The name is not case sensitive. |
package_version_id integer 必须Unique identifier of the package version. |
“Delete package version for an organization”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
“Delete package version for an organization”的示例代码
curl -L \
-X DELETE \
-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_NAME/versions/PACKAGE_VERSION_ID
Response
Status: 204
Restore package version for an organization
Restores a specific package version in an organization.
You can restore a deleted package under the following conditions:
- The package was deleted within the last 30 days.
- The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first.
To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the read:packages
and write:packages
scopes. In addition:
- If the
package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include therepo
scope. For the list of these registries, see "About permissions for GitHub Packages." - If the
package_type
belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "About permissions for GitHub Packages."
“Restore package version for an organization”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
package_name string 必须The name of the package. |
org string 必须The organization name. The name is not case sensitive. |
package_version_id integer 必须Unique identifier of the package version. |
“Restore package version for an organization”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
“Restore package version for an organization”的示例代码
curl -L \
-X POST \
-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_NAME/versions/PACKAGE_VERSION_ID/restore
Response
Status: 204
Get list of conflicting packages during Docker migration for authenticated-user
Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration.
To use this endpoint, you must authenticate using an access token with the read:packages
scope.
“Get list of conflicting packages during Docker migration for authenticated-user”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
“Get list of conflicting packages during Docker migration for authenticated-user”的示例代码
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/docker/conflicts
Response
Status: 200
[
{
"id": 197,
"name": "hello_docker",
"package_type": "container",
"owner": {
"login": "octocat",
"id": 9919,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=",
"avatar_url": "https://avatars.octocatusercontent.com/u/9919?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"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": "User",
"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/octocat",
"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": "User",
"site_admin": false
},
"version_count": 2,
"visibility": "private",
"url": "https://api.github.com/user/octocat/packages/container/goodbye_docker",
"created_at": "2020-05-20T22:19:11Z",
"updated_at": "2020-05-20T22:19:11Z",
"html_url": "https://github.com/user/octocat/packages/container/package/goodbye_docker"
}
]
List packages for the authenticated user's namespace
Lists packages owned by the authenticated user within the user's namespace.
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."
“List packages for the authenticated user's namespace”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
查询参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
visibility string The selected visibility of the packages. This parameter is optional and only filters an existing result set. The 可以是以下选项之一: |
page integer Page number of the results to fetch. 默认: |
per_page integer The number of results per page (max 100). 默认: |
“List packages for the authenticated user's namespace”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
400 | The value of |
“List packages for the authenticated user's namespace”的示例代码
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/packages?package_type=container
Response
Status: 200
[
{
"id": 197,
"name": "hello_docker",
"package_type": "container",
"owner": {
"login": "octocat",
"id": 9919,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=",
"avatar_url": "https://avatars.octocatusercontent.com/u/9919?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"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": "User",
"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/octocat",
"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": "User",
"site_admin": false
},
"version_count": 2,
"visibility": "private",
"url": "https://api.github.com/user/octocat/packages/container/goodbye_docker",
"created_at": "2020-05-20T22:19:11Z",
"updated_at": "2020-05-20T22:19:11Z",
"html_url": "https://github.com/user/octocat/packages/container/package/goodbye_docker"
}
]
Get a package for the authenticated user
Gets a specific package for a package owned by the authenticated user.
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."
“Get a package for the authenticated user”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
package_name string 必须The name of the package. |
“Get a package for the authenticated user”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
“Get a package for the authenticated user”的示例代码
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/packages/PACKAGE_TYPE/PACKAGE_NAME
Response
Status: 200
{
"id": 40201,
"name": "octo-name",
"package_type": "rubygems",
"owner": {
"login": "octocat",
"id": 209477,
"node_id": "MDQ6VXNlcjIwOTQ3Nw==",
"avatar_url": "https://avatars.githubusercontent.com/u/209477?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": true
},
"version_count": 3,
"visibility": "public",
"url": "https://api.github.com/users/octocat/packages/rubygems/octo-name",
"created_at": "2019-10-20T14:17:14Z",
"updated_at": "2019-10-20T14:17:14Z",
"repository": {
"id": 216219492,
"node_id": "MDEwOlJlcG9zaXRvcnkyMTYyMTk0OTI=",
"name": "octo-name-repo",
"full_name": "octocat/octo-name-repo",
"private": false,
"owner": {
"login": "octocat",
"id": 209477,
"node_id": "MDQ6VXNlcjIwOTQ3Nw==",
"avatar_url": "https://avatars.githubusercontent.com/u/209477?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": true
},
"html_url": "https://github.com/octocat/octo-name-repo",
"description": "Project for octocats",
"fork": false,
"url": "https://api.github.com/repos/octocat/octo-name-repo",
"forks_url": "https://api.github.com/repos/octocat/octo-name-repo/forks",
"keys_url": "https://api.github.com/repos/octocat/octo-name-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/octocat/octo-name-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/octocat/octo-name-repo/teams",
"hooks_url": "https://api.github.com/repos/octocat/octo-name-repo/hooks",
"issue_events_url": "https://api.github.com/repos/octocat/octo-name-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/octocat/octo-name-repo/events",
"assignees_url": "https://api.github.com/repos/octocat/octo-name-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/octocat/octo-name-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/octocat/octo-name-repo/tags",
"blobs_url": "https://api.github.com/repos/octocat/octo-name-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/octocat/octo-name-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/octocat/octo-name-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/octocat/octo-name-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/octocat/octo-name-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/octocat/octo-name-repo/languages",
"stargazers_url": "https://api.github.com/repos/octocat/octo-name-repo/stargazers",
"contributors_url": "https://api.github.com/repos/octocat/octo-name-repo/contributors",
"subscribers_url": "https://api.github.com/repos/octocat/octo-name-repo/subscribers",
"subscription_url": "https://api.github.com/repos/octocat/octo-name-repo/subscription",
"commits_url": "https://api.github.com/repos/octocat/octo-name-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/octocat/octo-name-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/octocat/octo-name-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/octocat/octo-name-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/octocat/octo-name-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/octocat/octo-name-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/octocat/octo-name-repo/merges",
"archive_url": "https://api.github.com/repos/octocat/octo-name-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/octocat/octo-name-repo/downloads",
"issues_url": "https://api.github.com/repos/octocat/octo-name-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/octocat/octo-name-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/octocat/octo-name-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/octocat/octo-name-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/octocat/octo-name-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/octocat/octo-name-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/octocat/octo-name-repo/deployments"
},
"html_url": "https://github.com/octocat/octo-name-repo/packages/40201"
}
Delete a package for the authenticated user
Deletes a package owned by the authenticated user. 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 authenticate using an access token with the read:packages
and delete:packages
scopes.
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."
“Delete a package for the authenticated user”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
package_name string 必须The name of the package. |
“Delete a package for the authenticated user”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
“Delete a package for the authenticated user”的示例代码
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/packages/PACKAGE_TYPE/PACKAGE_NAME
Response
Status: 204
Restore a package for the authenticated user
Restores a package owned by the authenticated user.
You can restore a deleted package under the following conditions:
- The package was deleted within the last 30 days.
- The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first.
To use this endpoint, you must authenticate using an access token with the read:packages
and write:packages
scopes. 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."
“Restore a package for the authenticated user”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
package_name string 必须The name of the package. |
查询参数 |
名称, 类型, 说明 |
token string package token |
“Restore a package for the authenticated user”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
“Restore a package for the authenticated user”的示例代码
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/packages/PACKAGE_TYPE/PACKAGE_NAME/restore
Response
Status: 204
List package versions for a package owned by the authenticated user
Lists package versions for a package owned by the authenticated user.
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."
“List package versions for a package owned by the authenticated user”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
package_name string 必须The name of the package. |
查询参数 |
名称, 类型, 说明 |
page integer Page number of the results to fetch. 默认: |
per_page integer The number of results per page (max 100). 默认: |
state string The state of the package, either active or deleted. 默认: 可以是以下选项之一: |
“List package versions for a package owned by the authenticated user”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
“List package versions for a package owned by the authenticated user”的示例代码
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/packages/PACKAGE_TYPE/PACKAGE_NAME/versions
Response
Status: 200
[
{
"id": 45763,
"name": "sha256:08a44bab0bddaddd8837a8b381aebc2e4b933768b981685a9e088360af0d3dd9",
"url": "https://api.github.com/users/octocat/packages/container/hello_docker/versions/45763",
"package_html_url": "https://github.com/users/octocat/packages/container/package/hello_docker",
"created_at": "2020-09-11T21:56:40Z",
"updated_at": "2021-02-05T21:32:32Z",
"html_url": "https://github.com/users/octocat/packages/container/hello_docker/45763",
"metadata": {
"package_type": "container",
"container": {
"tags": [
"latest"
]
}
}
},
{
"id": 881,
"name": "sha256:b3d3e366b55f9a54599220198b3db5da8f53592acbbb7dc7e4e9878762fc5344",
"url": "https://api.github.com/users/octocat/packages/container/hello_docker/versions/881",
"package_html_url": "https://github.com/users/octocat/packages/container/package/hello_docker",
"created_at": "2020-05-21T22:22:20Z",
"updated_at": "2021-02-05T21:32:32Z",
"html_url": "https://github.com/users/octocat/packages/container/hello_docker/881",
"metadata": {
"package_type": "container",
"container": {
"tags": []
}
}
}
]
Get a package version for the authenticated user
Gets a specific package version for a package owned by the authenticated user.
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."
“Get a package version for the authenticated user”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
package_name string 必须The name of the package. |
package_version_id integer 必须Unique identifier of the package version. |
“Get a package version for the authenticated user”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
“Get a package version for the authenticated user”的示例代码
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/packages/PACKAGE_TYPE/PACKAGE_NAME/versions/PACKAGE_VERSION_ID
Response
Status: 200
{
"id": 214,
"name": "sha256:3561f0cff06caccddb99c93bd26e712fcc56a811de0f8ea7a17bb865f30b176a",
"url": "https://api.github.com/users/octocat/packages/container/hello_docker/versions/214",
"package_html_url": "https://github.com/users/octocat/packages/container/package/hello_docker",
"created_at": "2020-05-15T03:46:45Z",
"updated_at": "2020-05-15T03:46:45Z",
"html_url": "https://github.com/users/octocat/packages/container/hello_docker/214",
"metadata": {
"package_type": "container",
"container": {
"tags": [
"1.13.6"
]
}
}
}
Delete a package version for the authenticated user
Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. 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.
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."
“Delete a package version for the authenticated user”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
package_name string 必须The name of the package. |
package_version_id integer 必须Unique identifier of the package version. |
“Delete a package version for the authenticated user”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
“Delete a package version for the authenticated user”的示例代码
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/packages/PACKAGE_TYPE/PACKAGE_NAME/versions/PACKAGE_VERSION_ID
Response
Status: 204
Restore a package version for the authenticated user
Restores a package version owned by the authenticated user.
You can restore a deleted package version under the following conditions:
- The package was deleted within the last 30 days.
- The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first.
To use this endpoint, you must authenticate using an access token with the read:packages
and write:packages
scopes. 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."
“Restore a package version for the authenticated user”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
package_name string 必须The name of the package. |
package_version_id integer 必须Unique identifier of the package version. |
“Restore a package version for the authenticated user”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
“Restore a package version for the authenticated user”的示例代码
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/packages/PACKAGE_TYPE/PACKAGE_NAME/versions/PACKAGE_VERSION_ID/restore
Response
Status: 204
Get list of conflicting packages during Docker migration for user
Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration.
To use this endpoint, you must authenticate using an access token with the read:packages
scope.
“Get list of conflicting packages during Docker migration for user”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
username string 必须The handle for the GitHub user account. |
“Get list of conflicting packages during Docker migration for user”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
401 | Requires authentication |
403 | Forbidden |
“Get list of conflicting packages during Docker migration for user”的示例代码
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/users/USERNAME/docker/conflicts
Response
Status: 200
[
{
"id": 197,
"name": "hello_docker",
"package_type": "container",
"owner": {
"login": "octocat",
"id": 9919,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=",
"avatar_url": "https://avatars.octocatusercontent.com/u/9919?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"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": "User",
"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/octocat",
"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": "User",
"site_admin": false
},
"version_count": 2,
"visibility": "private",
"url": "https://api.github.com/user/octocat/packages/container/goodbye_docker",
"created_at": "2020-05-20T22:19:11Z",
"updated_at": "2020-05-20T22:19:11Z",
"html_url": "https://github.com/user/octocat/packages/container/package/goodbye_docker"
}
]
List packages for a user
Lists all packages in a user's namespace for which the requesting user has access.
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."
“List packages for a user”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
username string 必须The handle for the GitHub user account. |
查询参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
visibility string The selected visibility of the packages. This parameter is optional and only filters an existing result set. The 可以是以下选项之一: |
page integer Page number of the results to fetch. 默认: |
per_page integer The number of results per page (max 100). 默认: |
“List packages for a user”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
400 | The value of |
401 | Requires authentication |
403 | Forbidden |
“List packages for a user”的示例代码
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/users/USERNAME/packages?package_type=container
Response
Status: 200
[
{
"id": 197,
"name": "hello_docker",
"package_type": "container",
"owner": {
"login": "octocat",
"id": 9919,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=",
"avatar_url": "https://avatars.octocatusercontent.com/u/9919?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"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": "User",
"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/octocat",
"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": "User",
"site_admin": false
},
"version_count": 2,
"visibility": "private",
"url": "https://api.github.com/user/octocat/packages/container/goodbye_docker",
"created_at": "2020-05-20T22:19:11Z",
"updated_at": "2020-05-20T22:19:11Z",
"html_url": "https://github.com/user/octocat/packages/container/package/goodbye_docker"
}
]
Get a package for a user
Gets a specific package metadata for a public package owned by a user.
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."
“Get a package for a user”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
package_name string 必须The name of the package. |
username string 必须The handle for the GitHub user account. |
“Get a package for a user”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
“Get a package for a user”的示例代码
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/users/USERNAME/packages/PACKAGE_TYPE/PACKAGE_NAME
Response
Status: 200
{
"id": 40201,
"name": "octo-name",
"package_type": "rubygems",
"owner": {
"login": "octocat",
"id": 209477,
"node_id": "MDQ6VXNlcjIwOTQ3Nw==",
"avatar_url": "https://avatars.githubusercontent.com/u/209477?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": true
},
"version_count": 3,
"visibility": "public",
"url": "https://api.github.com/users/octocat/packages/rubygems/octo-name",
"created_at": "2019-10-20T14:17:14Z",
"updated_at": "2019-10-20T14:17:14Z",
"repository": {
"id": 216219492,
"node_id": "MDEwOlJlcG9zaXRvcnkyMTYyMTk0OTI=",
"name": "octo-name-repo",
"full_name": "octocat/octo-name-repo",
"private": false,
"owner": {
"login": "octocat",
"id": 209477,
"node_id": "MDQ6VXNlcjIwOTQ3Nw==",
"avatar_url": "https://avatars.githubusercontent.com/u/209477?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": true
},
"html_url": "https://github.com/octocat/octo-name-repo",
"description": "Project for octocats",
"fork": false,
"url": "https://api.github.com/repos/octocat/octo-name-repo",
"forks_url": "https://api.github.com/repos/octocat/octo-name-repo/forks",
"keys_url": "https://api.github.com/repos/octocat/octo-name-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/octocat/octo-name-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/octocat/octo-name-repo/teams",
"hooks_url": "https://api.github.com/repos/octocat/octo-name-repo/hooks",
"issue_events_url": "https://api.github.com/repos/octocat/octo-name-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/octocat/octo-name-repo/events",
"assignees_url": "https://api.github.com/repos/octocat/octo-name-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/octocat/octo-name-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/octocat/octo-name-repo/tags",
"blobs_url": "https://api.github.com/repos/octocat/octo-name-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/octocat/octo-name-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/octocat/octo-name-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/octocat/octo-name-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/octocat/octo-name-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/octocat/octo-name-repo/languages",
"stargazers_url": "https://api.github.com/repos/octocat/octo-name-repo/stargazers",
"contributors_url": "https://api.github.com/repos/octocat/octo-name-repo/contributors",
"subscribers_url": "https://api.github.com/repos/octocat/octo-name-repo/subscribers",
"subscription_url": "https://api.github.com/repos/octocat/octo-name-repo/subscription",
"commits_url": "https://api.github.com/repos/octocat/octo-name-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/octocat/octo-name-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/octocat/octo-name-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/octocat/octo-name-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/octocat/octo-name-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/octocat/octo-name-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/octocat/octo-name-repo/merges",
"archive_url": "https://api.github.com/repos/octocat/octo-name-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/octocat/octo-name-repo/downloads",
"issues_url": "https://api.github.com/repos/octocat/octo-name-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/octocat/octo-name-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/octocat/octo-name-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/octocat/octo-name-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/octocat/octo-name-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/octocat/octo-name-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/octocat/octo-name-repo/deployments"
},
"html_url": "https://github.com/octocat/octo-name-repo/packages/40201"
}
Delete a package for a user
Deletes an entire package for a user. 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 authenticate using an access token with the read:packages
and delete:packages
scopes. In addition:
- If the
package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include therepo
scope. For the list of these registries, see "About permissions for GitHub Packages." - If the
package_type
belongs 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."
“Delete a package for a user”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
package_name string 必须The name of the package. |
username string 必须The handle for the GitHub user account. |
“Delete a package for a user”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
“Delete a package for a user”的示例代码
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/users/USERNAME/packages/PACKAGE_TYPE/PACKAGE_NAME
Response
Status: 204
Restore a package for a user
Restores an entire package for a user.
You can restore a deleted package under the following conditions:
- The package was deleted within the last 30 days.
- The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first.
To use this endpoint, you must authenticate using an access token with the read:packages
and write:packages
scopes. In addition:
- If the
package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include therepo
scope. For the list of these registries, see "About permissions for GitHub Packages." - If the
package_type
belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "About permissions for GitHub Packages."
“Restore a package for a user”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
package_name string 必须The name of the package. |
username string 必须The handle for the GitHub user account. |
查询参数 |
名称, 类型, 说明 |
token string package token |
“Restore a package for a user”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
“Restore a package for a user”的示例代码
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/users/USERNAME/packages/PACKAGE_TYPE/PACKAGE_NAME/restore
Response
Status: 204
List package versions for a package owned by a user
Lists package versions for a public package owned by a specified user.
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."
“List package versions for a package owned by a user”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
package_name string 必须The name of the package. |
username string 必须The handle for the GitHub user account. |
“List package versions for a package owned by a user”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
“List package versions for a package owned by a user”的示例代码
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/users/USERNAME/packages/PACKAGE_TYPE/PACKAGE_NAME/versions
Response
Status: 200
[
{
"id": 3497268,
"name": "0.3.0",
"url": "https://api.github.com/users/octocat/packages/rubygems/octo-name/versions/3497268",
"package_html_url": "https://github.com/octocat/octo-name-repo/packages/40201",
"license": "MIT",
"created_at": "2020-08-31T15:22:11Z",
"updated_at": "2020-08-31T15:22:12Z",
"description": "Project for octocats",
"html_url": "https://github.com/octocat/octo-name-repo/packages/40201?version=0.3.0",
"metadata": {
"package_type": "rubygems"
}
},
{
"id": 387039,
"name": "0.2.0",
"url": "https://api.github.com/users/octocat/packages/rubygems/octo-name/versions/387039",
"package_html_url": "https://github.com/octocat/octo-name-repo/packages/40201",
"license": "MIT",
"created_at": "2019-12-01T20:49:29Z",
"updated_at": "2019-12-01T20:49:30Z",
"description": "Project for octocats",
"html_url": "https://github.com/octocat/octo-name-repo/packages/40201?version=0.2.0",
"metadata": {
"package_type": "rubygems"
}
},
{
"id": 169770,
"name": "0.1.0",
"url": "https://api.github.com/users/octocat/packages/rubygems/octo-name/versions/169770",
"package_html_url": "https://github.com/octocat/octo-name-repo/packages/40201",
"license": "MIT",
"created_at": "2019-10-20T14:17:14Z",
"updated_at": "2019-10-20T14:17:15Z",
"html_url": "https://github.com/octocat/octo-name-repo/packages/40201?version=0.1.0",
"metadata": {
"package_type": "rubygems"
}
}
]
Get a package version for a user
Gets a specific package version for a public package owned by a specified user.
At this time, 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."
“Get a package version for a user”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
package_name string 必须The name of the package. |
package_version_id integer 必须Unique identifier of the package version. |
username string 必须The handle for the GitHub user account. |
“Get a package version for a user”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
“Get a package version for a user”的示例代码
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/users/USERNAME/packages/PACKAGE_TYPE/PACKAGE_NAME/versions/PACKAGE_VERSION_ID
Response
Status: 200
{
"id": 387039,
"name": "0.2.0",
"url": "https://api.github.com/users/octocat/packages/rubygems/octo-name/versions/387039",
"package_html_url": "https://github.com/octocat/octo-name-repo/packages/40201",
"license": "MIT",
"created_at": "2019-12-01T20:49:29Z",
"updated_at": "2019-12-01T20:49:30Z",
"description": "Octo-name client for Ruby",
"html_url": "https://github.com/octocat/octo-name-repo/packages/40201?version=0.2.0",
"metadata": {
"package_type": "rubygems"
}
}
Delete package version for a user
Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance.
To use this endpoint, you must authenticate using an access token with the read:packages
and delete:packages
scopes. In addition:
- If the
package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include therepo
scope. For the list of these registries, see "About permissions for GitHub Packages." - If the
package_type
belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "About permissions for GitHub Packages."
“Delete package version for a user”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
package_name string 必须The name of the package. |
username string 必须The handle for the GitHub user account. |
package_version_id integer 必须Unique identifier of the package version. |
“Delete package version for a user”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
“Delete package version for a user”的示例代码
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/users/USERNAME/packages/PACKAGE_TYPE/PACKAGE_NAME/versions/PACKAGE_VERSION_ID
Response
Status: 204
Restore package version for a user
Restores a specific package version for a user.
You can restore a deleted package under the following conditions:
- The package was deleted within the last 30 days.
- The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first.
To use this endpoint, you must authenticate using an access token with the read:packages
and write:packages
scopes. In addition:
- If the
package_type
belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include therepo
scope. For the list of these registries, see "About permissions for GitHub Packages." - If the
package_type
belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "About permissions for GitHub Packages."
“Restore package version for a user”的参数
标头 |
---|
名称, 类型, 说明 |
accept string Setting to |
路径参数 |
名称, 类型, 说明 |
package_type string 必须The type of supported package. Packages in GitHub's Gradle registry have the type 可以是以下选项之一: |
package_name string 必须The name of the package. |
username string 必须The handle for the GitHub user account. |
package_version_id integer 必须Unique identifier of the package version. |
“Restore package version for a user”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
204 | No Content |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
“Restore package version for a user”的示例代码
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/users/USERNAME/packages/PACKAGE_TYPE/PACKAGE_NAME/versions/PACKAGE_VERSION_ID/restore
Response
Status: 204