Codespaces 代码库密钥的 REST API 端点
使用 REST API 管理用户在 codespace 中有权访问的代码库的密钥。
谁可以使用此功能?
具有代码库写入权限的用户可以管理 Codespaces 代码库密钥。
关于 Codespaces 代码库密钥
您可以创建、列出和删除用户有权访问的代码库的密钥(例如,云服务的访问令牌)。这些密钥在运行时提供给 codespace。更多信息,请参阅“管理 GitHub Codespaces 的帐户特定密钥”。
列出代码库密钥
列出代码库中可用的所有开发环境密钥,而不会泄露其加密值。
OAuth 应用令牌和个人访问令牌(经典)需要 `repo` 范围才能使用此端点。
“列出代码库密钥”的细粒度访问令牌
此端点适用于以下细粒度令牌类型:
细粒度令牌必须具有以下权限集
- “Codespaces 密钥”代码库权限(写入)
“列出代码库密钥”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 `application/vnd.github+json`。 |
名称、类型、描述 |
---|
owner 字符串 必需代码库的帐户所有者。名称不区分大小写。 |
repo 字符串 必需代码库的名称,不包含 `.git` 扩展名。名称不区分大小写。 |
名称、类型、描述 |
---|
per_page 整数每页结果数(最大 100)。更多信息,请参阅“在 REST API 中使用分页”。 默认值: |
page 整数要提取的结果页码。更多信息,请参阅“在 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 密钥”代码库权限(写入)
“获取代码库公钥”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 `application/vnd.github+json`。 |
名称、类型、描述 |
---|
owner 字符串 必需代码库的帐户所有者。名称不区分大小写。 |
repo 字符串 必需代码库的名称,不包含 `.git` 扩展名。名称不区分大小写。 |
“获取代码库公钥”的 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 密钥”代码库权限(写入)
“获取代码库密钥”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 `application/vnd.github+json`。 |
名称、类型、描述 |
---|
owner 字符串 必需代码库的帐户所有者。名称不区分大小写。 |
repo 字符串 必需代码库的名称,不包含 `.git` 扩展名。名称不区分大小写。 |
secret_name 字符串 必需密钥的名称。 |
“获取代码库密钥”的 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 密钥”代码库权限(写入)
“创建或更新代码库密钥”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 `application/vnd.github+json`。 |
名称、类型、描述 |
---|
owner 字符串 必需代码库的帐户所有者。名称不区分大小写。 |
repo 字符串 必需代码库的名称,不包含 `.git` 扩展名。名称不区分大小写。 |
secret_name 字符串 必需密钥的名称。 |
名称、类型、描述 |
---|
key_id 字符串用于加密密钥的密钥的 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 密钥”代码库权限(写入)
“删除仓库密钥”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 `application/vnd.github+json`。 |
名称、类型、描述 |
---|
owner 字符串 必需代码库的帐户所有者。名称不区分大小写。 |
repo 字符串 必需代码库的名称,不包含 `.git` 扩展名。名称不区分大小写。 |
secret_name 字符串 必需密钥的名称。 |
“删除仓库密钥”的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