Codespaces 仓库密钥的 REST API 端点
使用 REST API 管理用户在 Codespace 中有权访问的仓库的密钥。
谁可以使用此功能?
具有仓库写入权限的用户可以管理 Codespaces 仓库密钥。
关于 Codespaces 仓库密钥
您可以为用户有权访问的仓库创建、列出和删除密钥(例如云服务的访问令牌)。这些密钥在运行时提供给 Codespace。有关更多信息,请参阅 "管理您针对 GitHub Codespaces 的帐户特定密钥."
列出仓库密钥
列出仓库中可用的所有开发环境密钥,但不显示其加密值。
OAuth 应用令牌和个人访问令牌(经典)需要 repo
范围才能使用此端点。
用于“列出仓库密钥”的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- "Codespaces secrets" 存储库权限(写入)
"列出存储库机密" 的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
owner string 必需存储库的帐户所有者。名称不区分大小写。 |
repo string 必需存储库的名称,不带 |
名称、类型、描述 |
---|
per_page integer 每页结果数(最大 100)。有关更多信息,请参阅 "在 REST API 中使用分页"。 默认: |
page integer 要获取的结果的页码。有关更多信息,请参阅 "在 REST API 中使用分页"。 默认: |
"列出存储库机密" 的 HTTP 响应状态代码
状态代码 | 描述 |
---|---|
200 | OK |
"列出存储库机密" 的代码示例
请求示例
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/repos/OWNER/REPO/codespaces/secrets
响应
获取仓库公钥
获取您的公钥,您需要使用它来加密密钥。您需要在创建或更新密钥之前加密密钥。
任何对仓库具有读取权限的用户都可以使用此端点。
如果仓库是私有的,OAuth 应用程序令牌和个人访问令牌(经典)需要repo
范围才能使用此端点。
用于“获取仓库公钥”的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- "Codespaces secrets" 存储库权限(写入)
用于“获取仓库公钥”的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
owner string 必需存储库的帐户所有者。名称不区分大小写。 |
repo string 必需存储库的名称,不带 |
用于“获取仓库公钥”的 HTTP 响应状态码
状态代码 | 描述 |
---|---|
200 | OK |
用于“获取仓库公钥”的代码示例
请求示例
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/repos/OWNER/REPO/codespaces/secrets/public-key
响应
获取仓库密钥
获取单个仓库开发环境密钥,不会泄露其加密值。
OAuth 应用令牌和个人访问令牌(经典)需要 repo
范围才能使用此端点。
用于“获取仓库密钥”的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- "Codespaces secrets" 存储库权限(写入)
用于“获取仓库密钥”的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
owner string 必需存储库的帐户所有者。名称不区分大小写。 |
repo string 必需存储库的名称,不带 |
secret_name string 必需密钥的名称。 |
用于“获取仓库密钥”的 HTTP 响应状态码
状态代码 | 描述 |
---|---|
200 | OK |
用于“获取仓库密钥”的代码示例
请求示例
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/repos/OWNER/REPO/codespaces/secrets/SECRET_NAME
响应
创建或更新仓库密钥
创建或更新存储库开发环境密钥,并使用加密值。使用 LibSodium 对您的密钥进行加密。有关更多信息,请参阅“加密 REST API 的密钥”。
OAuth 应用令牌和个人访问令牌(经典)需要 repo
范围才能使用此端点。
“创建或更新存储库密钥”的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- "Codespaces secrets" 存储库权限(写入)
“创建或更新存储库密钥”的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
owner string 必需存储库的帐户所有者。名称不区分大小写。 |
repo string 必需存储库的名称,不带 |
secret_name string 必需密钥的名称。 |
名称、类型、描述 |
---|
key_id string 用于加密密钥的密钥 ID。 |
“创建或更新存储库密钥”的 HTTP 响应状态码
状态代码 | 描述 |
---|---|
201 | 创建密钥时的响应 |
204 | 更新密钥时的响应 |
“创建或更新存储库密钥”的代码示例
请求示例
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/codespaces/secrets/SECRET_NAME \ -d '{"encrypted_value":"c2VjcmV0","key_id":"012345678912345678"}'
创建密钥时的响应
删除存储库密钥
使用密钥名称删除存储库中的开发环境密钥。
OAuth 应用令牌和个人访问令牌(经典)需要 repo
范围才能使用此端点。
“删除存储库密钥”的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- "Codespaces secrets" 存储库权限(写入)
“删除存储库密钥”的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
owner string 必需存储库的帐户所有者。名称不区分大小写。 |
repo string 必需存储库的名称,不带 |
secret_name string 必需密钥的名称。 |
“删除存储库密钥”的 HTTP 响应状态码
状态代码 | 描述 |
---|---|
204 | 无内容 |
“删除仓库密钥”的代码示例
请求示例
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/repos/OWNER/REPO/codespaces/secrets/SECRET_NAME
响应
状态:204