Skip to main content
The REST API is now versioned. For more information, see "About API versioning."

Schlüssel bereitstellen

Mit der API für Bereitstellungsschlüssel kannst du Bereitstellungsschlüssel erstellen und verwalten.

Informationen zur Schlüsselbereitstellungs-API

Du kannst Projekte aus einem Repository in auf deinem Server starten, indem du einen Bereitstellungsschlüssel verwendest. Dies ist ein SSH-Schlüssel, der Zugriff auf ein einzelnes Repository gewährt. GitHub fügt den öffentlichen Teil des Schlüssels direkt an dein Repository anstatt an dein persönliches Konto an, und der private Teil des Schlüssels verbleibt auf deinem Server. Weitere Informationen findest du unter Übermitteln von Bereitstellungen.

Die Bereitstellung von Schlüsseln kann entweder mithilfe der folgenden API-Endpunkte oder über GitHub eingerichtet werden. Informationen zum Einrichten der Bereitstellung von Schlüsseln in GitHub findest du unter Verwalten von Bereitstellungsschlüsseln.

List deploy keys

Funktioniert mit GitHub Apps

Parameter

Headers
Name, Type, Description
acceptstring

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

Path parameters
Name, Type, Description
ownerstringRequired

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

repostringRequired

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

Query parameters
Name, Type, Description
per_pageinteger

The number of results per page (max 100).

Default: 30

pageinteger

Page number of the results to fetch.

Default: 1

HTTP-Antwortstatuscodes

StatuscodeBESCHREIBUNG
200

OK

Codebeispiele

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

Funktioniert mit GitHub Apps

You can create a read-only deploy key.

Parameter

Headers
Name, Type, Description
acceptstring

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

Path parameters
Name, Type, Description
ownerstringRequired

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

repostringRequired

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

Body parameters
Name, Type, Description
titlestring

A name for the key.

keystringRequired

The contents of the key.

read_onlyboolean

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-Antwortstatuscodes

StatuscodeBESCHREIBUNG
201

Created

422

Validation failed, or the endpoint has been spammed.

Codebeispiele

post/repos/{owner}/{repo}/keys
curl \ -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

Funktioniert mit GitHub Apps

Parameter

Headers
Name, Type, Description
acceptstring

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

Path parameters
Name, Type, Description
ownerstringRequired

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

repostringRequired

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

key_idintegerRequired

The unique identifier of the key.

HTTP-Antwortstatuscodes

StatuscodeBESCHREIBUNG
200

OK

404

Resource not found

Codebeispiele

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

Funktioniert mit GitHub Apps

Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead.

Parameter

Headers
Name, Type, Description
acceptstring

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

Path parameters
Name, Type, Description
ownerstringRequired

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

repostringRequired

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

key_idintegerRequired

The unique identifier of the key.

HTTP-Antwortstatuscodes

StatuscodeBESCHREIBUNG
204

No Content

Codebeispiele

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