Конечные точки REST API для ключ развертывания
Используйте REST API для создания ключ развертывания и управления ими.
Сведения о ключ развертывания
Вы можете запустить проекты из репозитория на ваш экземпляр GitHub Enterprise Server на сервер с помощью ключ развертывания, который является ключом SSH, который предоставляет доступ к одному репозиторию. GitHub подключает общедоступную часть ключа непосредственно к репозиторию вместо личная учетная запись, а частная часть ключа остается на сервере. Дополнительные сведения см. в разделе Доставка развертываний.
Ключи развертывания можно настроить либо с помощью следующих API-конечных точек, либо с GitHub помощью веб-интерфейса. Сведения о настройке ключ развертывания в веб-интерфейсе см. в статье Управление ключами развертывания.
Возможно, не удается создать ключ развертывания, если ваша организация или владелец предприятия установила политику для ограничения их использования. Кроме того, если эта политика включена на уровне организации или предприятия, существующие ключ развертывания могут быть отключены. Дополнительные сведения см. в разделе [AUTOTITLE и Применение политик управления репозиториями в организации](/organizations/managing-organization-settings/restricting-deploy-keys-in-your-organization).
Существует несколько случаев, когда ключ развертывания будут удалены другими действиями:
- Если ключ развертывания создан с personal access tokenпомощью , удаление также personal access token удалит ключ развертывания. Восстановление personal access token не удалит ключ развертывания.
- Если ключ развертывания создан с помощью токена OAuth app , отзыв токена также удаляет ключ развертывания.
И наоборот, эти действия не будут удалять ключ развертывания:
- Если ключ развертывания создан с GitHub App помощью токена доступа пользователя, отзыв токена не удалит ключ развертывания.
- Если ключ развертывания создан с GitHub App помощью токена доступа установки, удаление или удаление приложения не удалит ключ развертывания.
- Если ключ развертывания создан с personal access tokenпомощью , регенерируя , personal access token ключ развертывания не удалится.
List deploy keys
Детализированные токены доступа для «List deploy keys»
Эта конечная точка работает со следующими точными типами маркеров:
- Жетоны доступа пользователей приложения GitHub
- Токены доступа к установке приложений GitHub
- Точные личные маркеры доступа
Маркер с точной детализацией должен иметь следующий набор разрешений.:
- "Administration" repository permissions (read)
Параметры для «List deploy keys»
| Имя., Тип, Description |
|---|
accept string Setting to |
| Имя., Тип, Description |
|---|
owner string Обязательное полеThe account owner of the repository. The name is not case sensitive. |
repo string Обязательное полеThe name of the repository without the |
| Имя., Тип, Description |
|---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." По умолчанию.: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." По умолчанию.: |
HTTP-коды статуса ответа для «List deploy keys»
| Код состояния | Description |
|---|---|
200 | OK |
Примеры кода для «List deploy keys»
Пример запроса
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/keysResponse
Status: 200[
{
"id": 1,
"key": "ssh-rsa AAA...",
"url": "https://HOSTNAME/repos/octocat/Hello-World/keys/1",
"title": "octocat@octomac",
"verified": true,
"created_at": "2014-12-10T15:53:42Z",
"read_only": true,
"added_by": "octocat",
"last_used": "2022-01-10T15:53:42Z",
"enabled": true
}
]Create a deploy key
You can create a read-only deploy key.
Детализированные токены доступа для «Create a deploy key»
Эта конечная точка работает со следующими точными типами маркеров:
- Жетоны доступа пользователей приложения GitHub
- Токены доступа к установке приложений GitHub
- Точные личные маркеры доступа
Маркер с точной детализацией должен иметь следующий набор разрешений.:
- "Administration" repository permissions (write)
Параметры для «Create a deploy key»
| Имя., Тип, Description |
|---|
accept string Setting to |
| Имя., Тип, Description |
|---|
owner string Обязательное полеThe account owner of the repository. The name is not case sensitive. |
repo string Обязательное полеThe name of the repository without the |
| Имя., Тип, Description |
|---|
title string A name for the key. |
key string Обязательное полеThe contents of the key. |
read_only boolean If 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-коды статуса ответа для «Create a deploy key»
| Код состояния | Description |
|---|---|
201 | Created |
422 | Validation failed, or the endpoint has been spammed. |
Примеры кода для «Create a deploy key»
Пример запроса
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
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://HOSTNAME/repos/octocat/Hello-World/keys/1",
"title": "octocat@octomac",
"verified": true,
"created_at": "2014-12-10T15:53:42Z",
"read_only": true,
"added_by": "octocat",
"last_used": "2022-01-10T15:53:42Z",
"enabled": true
}Get a deploy key
Детализированные токены доступа для «Get a deploy key»
Эта конечная точка работает со следующими точными типами маркеров:
- Жетоны доступа пользователей приложения GitHub
- Токены доступа к установке приложений GitHub
- Точные личные маркеры доступа
Маркер с точной детализацией должен иметь следующий набор разрешений.:
- "Administration" repository permissions (read)
Параметры для «Get a deploy key»
| Имя., Тип, Description |
|---|
accept string Setting to |
| Имя., Тип, Description |
|---|
owner string Обязательное полеThe account owner of the repository. The name is not case sensitive. |
repo string Обязательное полеThe name of the repository without the |
key_id integer Обязательное полеThe unique identifier of the key. |
HTTP-коды статуса ответа для «Get a deploy key»
| Код состояния | Description |
|---|---|
200 | OK |
404 | Resource not found |
Примеры кода для «Get a deploy key»
Пример запроса
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/keys/KEY_IDResponse
Status: 200{
"id": 1,
"key": "ssh-rsa AAA...",
"url": "https://HOSTNAME/repos/octocat/Hello-World/keys/1",
"title": "octocat@octomac",
"verified": true,
"created_at": "2014-12-10T15:53:42Z",
"read_only": true,
"added_by": "octocat",
"last_used": "2022-01-10T15:53:42Z",
"enabled": 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.
Детализированные токены доступа для «Delete a deploy key»
Эта конечная точка работает со следующими точными типами маркеров:
- Жетоны доступа пользователей приложения GitHub
- Токены доступа к установке приложений GitHub
- Точные личные маркеры доступа
Маркер с точной детализацией должен иметь следующий набор разрешений.:
- "Administration" repository permissions (write)
Параметры для «Delete a deploy key»
| Имя., Тип, Description |
|---|
accept string Setting to |
| Имя., Тип, Description |
|---|
owner string Обязательное полеThe account owner of the repository. The name is not case sensitive. |
repo string Обязательное полеThe name of the repository without the |
key_id integer Обязательное полеThe unique identifier of the key. |
HTTP-коды статуса ответа для «Delete a deploy key»
| Код состояния | Description |
|---|---|
204 | No Content |
Примеры кода для «Delete a deploy key»
Пример запроса
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/keys/KEY_IDResponse
Status: 204