部署密钥
使用 REST API 创建和管理部署密钥。
关于部署密钥
可以使用部署密钥(即授予对单个存储库的访问权限的 SSH 密钥)从 your GitHub Enterprise Server instance 上的存储库启动项目到服务器。 GitHub Enterprise Server 将密钥的公共部分直接附加到存储库而不是个人帐户,密钥的私有部分仍保留在服务器上。 有关详细信息,请参阅“传递部署”。
部署密钥可以使用以下 API 端点进行设置,也可以使用 GitHub 进行设置。 若要了解如何在 GitHub 中设置部署密钥,请参阅“管理部署密钥。”
List deploy keys
参数
标头 |
---|
名称, 类型, 说明 |
accept stringSetting to |
路径参数 |
名称, 类型, 说明 |
owner string必须The account owner of the repository. The name is not case sensitive. |
repo string必须The name of the repository. The name is not case sensitive. |
查询参数 |
名称, 类型, 说明 |
per_page integerThe number of results per page (max 100). 默认: |
page integerPage number of the results to fetch. 默认: |
HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
代码示例
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/keys
Response
Status: 200
{}
Create a deploy key
You can create a read-only deploy key.
参数
标头 |
---|
名称, 类型, 说明 |
accept stringSetting to |
路径参数 |
名称, 类型, 说明 |
owner string必须The account owner of the repository. The name is not case sensitive. |
repo string必须The name of the repository. The name is not case sensitive. |
正文参数 |
名称, 类型, 说明 |
title stringA name for the key. |
key string必须The contents of the key. |
read_only booleanIf Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "Repository permission levels for an organization" and "Permission levels for a user account repository." |
HTTP 响应状态代码
状态代码 | 说明 |
---|---|
201 | Created |
422 | Validation failed, or the endpoint has been spammed. |
代码示例
curl \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/keys \
-d '{"title":"octocat@octomac","key":"ssh-rsa AAA...","read_only":true}'
Response
Status: 201
{
"id": 1,
"key": "ssh-rsa AAA...",
"url": "https://api.github.com/repos/octocat/Hello-World/keys/1",
"title": "octocat@octomac",
"verified": true,
"created_at": "2014-12-10T15:53:42Z",
"read_only": true
}
Get a deploy key
参数
标头 |
---|
名称, 类型, 说明 |
accept stringSetting to |
路径参数 |
名称, 类型, 说明 |
owner string必须The account owner of the repository. The name is not case sensitive. |
repo string必须The name of the repository. The name is not case sensitive. |
key_id integer必须The unique identifier of the key. |
HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
404 | Resource not found |
代码示例
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/keys/KEY_ID
Response
Status: 200
{
"id": 1,
"key": "ssh-rsa AAA...",
"url": "https://api.github.com/repos/octocat/Hello-World/keys/1",
"title": "octocat@octomac",
"verified": true,
"created_at": "2014-12-10T15:53:42Z",
"read_only": true
}
Delete a deploy key
Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead.
参数
标头 |
---|
名称, 类型, 说明 |
accept stringSetting to |
路径参数 |
名称, 类型, 说明 |
owner string必须The account owner of the repository. The name is not case sensitive. |
repo string必须The name of the repository. The name is not case sensitive. |
key_id integer必须The unique identifier of the key. |
HTTP 响应状态代码
状态代码 | 说明 |
---|---|
204 | No Content |
代码示例
curl \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/keys/KEY_ID
Response
Status: 204