Skip to main content

Enterprise Server 3.15 ist derzeit als Release Candidate verfügbar.

Die REST-API verfügt jetzt über eine Versionskontrolle. Weitere Informationen findest du unter Informationen zur API-Versionsverwaltung.

REST-API-Endpunkte für Git-BLOBs

Verwende die REST-API, um mit einem Git-Blob (Binary Large Object) zu interagieren. Git-Blob ist der Objekttyp, der zum Speichern des Inhalts jeder Datei in einem Repository verwendet wird.

Informationen zu Git-Blobs

Ein Git-Blob (Binary Large Object) ist der Objekttyp, der zum Speichern des Inhalts jeder Datei in einem Repository verwendet wird. Der SHA-1-Hash der Datei wird berechnet und im Blobobjekt gespeichert. Diese Endpunkte ermöglichen dir das Lesen und Schreiben von Blobobjekten in deine Git-Datenbank auf GitHub Enterprise Server. Blobs nutzen diese benutzerdefinierten Medientypen. Weitere Informationen zur Verwendung von Medientypen in der API findest du unter „Erste Schritte mit der REST-API“.

Create a blob

Differenzierte Zugriffstoken für "Create a blob"

Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:

Das differenzierte Token muss einen der folgenden Berechtigungssätze aufweisen.:

  • "Contents" repository permissions (write)

Parameter für „Create a blob“

Header
Name, type, BESCHREIBUNG
accept string

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

Pfadparameter
Name, type, BESCHREIBUNG
owner string Erforderlich

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

repo string Erforderlich

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

Textparameter
Name, type, BESCHREIBUNG
content string Erforderlich

The new blob's content.

encoding string

The encoding used for content. Currently, "utf-8" and "base64" are supported.

Standard: utf-8

HTTP-Antwortstatuscodes für „Create a blob“

StatuscodeBESCHREIBUNG
201

Created

403

Forbidden

404

Resource not found

409

Conflict

422

Validation failed

Codebeispiele für „Create a blob“

Anforderungsbeispiel

post/repos/{owner}/{repo}/git/blobs
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/git/blobs \ -d '{"content":"Content of the blob","encoding":"utf-8"}'

Response

Status: 201
{ "url": "https://HOSTNAME/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15", "sha": "3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15" }

Get a blob

The content in the response will always be Base64 encoded.

This endpoint supports the following custom media types. For more information, see "Media types."

  • application/vnd.github.raw+json: Returns the raw blob data.
  • application/vnd.github+json: Returns a JSON representation of the blob with content as a base64 encoded string. This is the default if no media type is specified.

Note This endpoint supports blobs up to 100 megabytes in size.

Differenzierte Zugriffstoken für "Get a blob"

Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:

Das differenzierte Token muss einen der folgenden Berechtigungssätze aufweisen.:

  • "Contents" repository permissions (read)

Dieser Endpunkt kann ohne Authentifizierung oder die zuvor erwähnten Berechtigungen verwendet werden, wenn nur öffentliche Ressourcen angefordert werden.

Parameter für „Get a blob“

Header
Name, type, BESCHREIBUNG
accept string

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

Pfadparameter
Name, type, BESCHREIBUNG
owner string Erforderlich

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

repo string Erforderlich

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

file_sha string Erforderlich

HTTP-Antwortstatuscodes für „Get a blob“

StatuscodeBESCHREIBUNG
200

OK

403

Forbidden

404

Resource not found

409

Conflict

422

Validation failed, or the endpoint has been spammed.

Codebeispiele für „Get a blob“

Anforderungsbeispiel

get/repos/{owner}/{repo}/git/blobs/{file_sha}
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/git/blobs/FILE_SHA

Response

Status: 200
{ "content": "Q29udGVudCBvZiB0aGUgYmxvYg==", "encoding": "base64", "url": "https://HOSTNAME/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15", "sha": "3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15", "size": 19, "node_id": "Q29udGVudCBvZiB0aGUgYmxvYg==" }