Skip to main content
REST API はバージョン管理になりました。 詳細については、「API のバージョン管理について」を参照してください。

デプロイ キー用の REST API エンドポイント

REST API を使って、デプロイ キーの作成と管理を行います。

デプロイ キーについて

デプロイ キーを使用すると、GitHub.com のリポジトリからサーバーにプロジェクトを起動できます。デプロイ キーは、単一のリポジトリへのアクセス権を付与する SSH キーです。 GitHub Enterprise Cloud は個人アカウントの代わりに、リポジトリに直接キーのパブリックな部分をアタッチし、キーのプライベートな部分はサーバーに残ります。 詳しくは、「デプロイメントを配信する」を参照してください。

デプロイ キーは、次の API エンドポイントを使用するか、GitHub Web インターフェイスを使用して設定できます。 Web インターフェイスでデプロイ キーを設定する方法を確認するには、「デプロイキーの管理」を参照してください。

Organization または Enterprise 所有者が使用を制限するポリシーを設定している場合、デプロイ キーを作成できない場合があります。 さらに、このポリシーが Organization または Enterprise レベルで有効になっている場合は、既存のデプロイ キーが無効になる可能性があります。 詳細については、「Enterprise でリポジトリ管理ポリシーを適用する」および「組織内のデプロイ キーを制限する」を参照してください。

他のアクティビティによってデプロイ キーが削除される場合がいくつかあります。

  • デプロイ キーが 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" のパラメーター

ヘッダー
名前, Type, 説明
accept string

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

パス パラメーター
名前, Type, 説明
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.

クエリ パラメーター
名前, Type, 説明
per_page integer

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

Default: 30

page integer

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

Default: 1

"List deploy keys" の HTTP 応答状態コード

状態コード説明
200

OK

"List deploy keys" のコード サンプル

GHE.com で GitHub にアクセスする場合は、api.github.comapi.SUBDOMAIN.ghe.com にあるエンタープライズの専用サブドメインに置き換えます。

要求の例

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", "enabled": true } ]

Create a deploy key

You can create a read-only deploy key.

"Create a deploy key" のきめ細かいアクセス トークン

このエンドポイントは、次の粒度の細かいトークンの種類で動作します:

粒度の細かいトークンには次のアクセス許可セットが設定されている必要があります:

  • "Administration" repository permissions (write)

"Create a deploy key" のパラメーター

ヘッダー
名前, Type, 説明
accept string

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

パス パラメーター
名前, Type, 説明
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.

本文のパラメーター
名前, Type, 説明
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."

"Create a deploy key" の HTTP 応答状態コード

状態コード説明
201

Created

422

Validation failed, or the endpoint has been spammed.

"Create a deploy key" のコード サンプル

GHE.com で GitHub にアクセスする場合は、api.github.comapi.SUBDOMAIN.ghe.com にあるエンタープライズの専用サブドメインに置き換えます。

要求の例

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", "enabled": true }

Get a deploy key

"Get a deploy key" のきめ細かいアクセス トークン

このエンドポイントは、次の粒度の細かいトークンの種類で動作します:

粒度の細かいトークンには次のアクセス許可セットが設定されている必要があります:

  • "Administration" repository permissions (read)

"Get a deploy key" のパラメーター

ヘッダー
名前, Type, 説明
accept string

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

パス パラメーター
名前, Type, 説明
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.

"Get a deploy key" の HTTP 応答状態コード

状態コード説明
200

OK

404

Resource not found

"Get a deploy key" のコード サンプル

GHE.com で GitHub にアクセスする場合は、api.github.comapi.SUBDOMAIN.ghe.com にあるエンタープライズの専用サブドメインに置き換えます。

要求の例

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", "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" のきめ細かいアクセス トークン

このエンドポイントは、次の粒度の細かいトークンの種類で動作します:

粒度の細かいトークンには次のアクセス許可セットが設定されている必要があります:

  • "Administration" repository permissions (write)

"Delete a deploy key" のパラメーター

ヘッダー
名前, Type, 説明
accept string

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

パス パラメーター
名前, Type, 説明
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.

"Delete a deploy key" の HTTP 応答状態コード

状態コード説明
204

No Content

"Delete a deploy key" のコード サンプル

GHE.com で GitHub にアクセスする場合は、api.github.comapi.SUBDOMAIN.ghe.com にあるエンタープライズの専用サブドメインに置き換えます。

要求の例

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