Skip to main content
REST API теперь версия. Дополнительные сведения см. в разделе "О управлении версиями API".

Конечные точки REST API для ключ развертывания

Используйте REST API для создания ключ развертывания и управления ими.

Сведения о ключ развертывания

Вы можете запустить проекты из репозитория на GitHub.com на сервер с помощью ключ развертывания, который является ключом SSH, который предоставляет доступ к одному репозиторию. GitHub присоединяет открытую часть ключа непосредственно к репозиторию, а не к личной учетной записи. Закрытая часть ключа при этом остается на сервере. Дополнительные сведения см. в разделе Доставка развертываний.

Можно настроить ключи с помощью следующих конечных точек API или с помощью веб-интерфейса GitHub . Сведения о настройке ключ развертывания в веб-интерфейсе см. в разделе "Управление ключами развертывания".

Существует несколько случаев, когда ключ развертывания будут удалены другими действиями:

  • Если ключ развертывания создается с помощью 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

Эта конечная точка работает со следующими точными типами маркеров:

Маркер с точной детализацией должен иметь следующий набор разрешений.:

  • "Administration" repository permissions (read)

Параметры для "List deploy keys"

Заголовки
Имя., Тип, Description
accept string

Setting to application/vnd.github+json is recommended.

Параметры пути
Имя., Тип, Description
owner string Обязательное поле

The account owner of the repository. The name is not case sensitive.

repo string Обязательное поле

The name of the repository without the .git extension. The name is not case sensitive.

Параметры запроса
Имя., Тип, Description
per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

По умолчанию.: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

По умолчанию.: 1

Коды состояния http-ответа для "List deploy keys"

Код состоянияОписание
200

OK

Примеры кода для "List deploy keys"

Пример запроса

get/repos/{owner}/{repo}/keys
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/keys

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, "added_by": "octocat", "last_used": "2022-01-10T15:53:42Z" } ]

Create a deploy key

You can create a read-only deploy key.

Подробные маркеры доступа для "Create a deploy key

Эта конечная точка работает со следующими точными типами маркеров:

Маркер с точной детализацией должен иметь следующий набор разрешений.:

  • "Administration" repository permissions (write)

Параметры для "Create a deploy key"

Заголовки
Имя., Тип, Description
accept string

Setting to application/vnd.github+json is recommended.

Параметры пути
Имя., Тип, Description
owner string Обязательное поле

The account owner of the repository. The name is not case sensitive.

repo string Обязательное поле

The name of the repository without the .git extension. The name is not case sensitive.

Параметры запроса
Имя., Тип, Description
title string

A name for the key.

key string Обязательное поле

The contents of the key.

read_only boolean

If true, the key will only be able to read repository contents. Otherwise, the key will be able to read and write.

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"

Код состоянияОписание
201

Created

422

Validation failed, or the endpoint has been spammed.

Примеры кода для "Create a deploy key"

Пример запроса

post/repos/{owner}/{repo}/keys
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/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, "added_by": "octocat", "last_used": "2022-01-10T15:53:42Z" }

Get a deploy key

Подробные маркеры доступа для "Get a deploy key

Эта конечная точка работает со следующими точными типами маркеров:

Маркер с точной детализацией должен иметь следующий набор разрешений.:

  • "Administration" repository permissions (read)

Параметры для "Get a deploy key"

Заголовки
Имя., Тип, Description
accept string

Setting to application/vnd.github+json is recommended.

Параметры пути
Имя., Тип, Description
owner string Обязательное поле

The account owner of the repository. The name is not case sensitive.

repo string Обязательное поле

The name of the repository without the .git extension. The name is not case sensitive.

key_id integer Обязательное поле

The unique identifier of the key.

Коды состояния http-ответа для "Get a deploy key"

Код состоянияОписание
200

OK

404

Resource not found

Примеры кода для "Get a deploy key"

Пример запроса

get/repos/{owner}/{repo}/keys/{key_id}
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/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, "added_by": "octocat", "last_used": "2022-01-10T15:53:42Z" }

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

Эта конечная точка работает со следующими точными типами маркеров:

Маркер с точной детализацией должен иметь следующий набор разрешений.:

  • "Administration" repository permissions (write)

Параметры для "Delete a deploy key"

Заголовки
Имя., Тип, Description
accept string

Setting to application/vnd.github+json is recommended.

Параметры пути
Имя., Тип, Description
owner string Обязательное поле

The account owner of the repository. The name is not case sensitive.

repo string Обязательное поле

The name of the repository without the .git extension. The name is not case sensitive.

key_id integer Обязательное поле

The unique identifier of the key.

Коды состояния http-ответа для "Delete a deploy key"

Код состоянияОписание
204

No Content

Примеры кода для "Delete a deploy key"

Пример запроса

delete/repos/{owner}/{repo}/keys/{key_id}
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/keys/KEY_ID

Response

Status: 204