Эта версия GitHub Enterprise Server была прекращена 2024-09-25. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, повышения безопасности и новых функций выполните обновление до последней версии GitHub Enterprise Server. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.
Конечные точки REST API для больших двоичных объектов Git
Используйте REST API для взаимодействия с большим двоичным объектом Git (двоичный большой объект), тип объекта, используемый для хранения содержимого каждого файла в репозитории.
Сведения о больших двоичных объектах Git
Большой двоичный объект Git — это тип объекта, используемый для хранения содержимого каждого файла в репозитории. Хэш SHA-1 файла вычисляется и хранится в большом двоичном объекте. Эти конечные точки позволяют считывать и записывать объекты BLOB-объектов в базу данных Git на GitHub. Большие двоичные объекты используют эти пользовательские типы данных. Дополнительные сведения об использовании типов носителей в API см. в разделе Начало работы с REST API.
Create a blob
Подробные маркеры доступа для "Create a blob
Эта конечная точка работает со следующими точными типами маркеров:
- Маркеры доступа пользователей приложения GitHub
 - Маркеры доступа к установке приложений GitHub
 - Точные личные маркеры доступа
 
Маркер с точной детализацией должен иметь следующий набор разрешений.:
- "Contents" repository permissions (write)
 
Параметры для "Create a blob"
| Имя., Тип, 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 | 
|---|
content string Обязательное полеThe new blob's content.  | 
encoding string The encoding used for  По умолчанию.:   | 
Коды состояния http-ответа для "Create a blob"
| Код состояния | Описание | 
|---|---|
201 | Created  | 
403 | Forbidden  | 
404 | Resource not found  | 
409 | Conflict  | 
422 | Validation failed  | 
Примеры кода для "Create a blob"
Пример запроса
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 withcontentas 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.
Подробные маркеры доступа для "Get a blob
Эта конечная точка работает со следующими точными типами маркеров:
- Маркеры доступа пользователей приложения GitHub
 - Маркеры доступа к установке приложений GitHub
 - Точные личные маркеры доступа
 
Маркер с точной детализацией должен иметь следующий набор разрешений.:
- "Contents" repository permissions (read)
 
Эту конечную точку можно использовать без проверки подлинности или указанных выше разрешений, если запрашиваются только общедоступные ресурсы.
Параметры для "Get a blob"
| Имя., Тип, 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   | 
file_sha string Обязательное поле | 
Коды состояния http-ответа для "Get a blob"
| Код состояния | Описание | 
|---|---|
200 | OK  | 
403 | Forbidden  | 
404 | Resource not found  | 
409 | Conflict  | 
422 | Validation failed, or the endpoint has been spammed.  | 
Примеры кода для "Get a blob"
Пример запроса
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_SHAResponse
Status: 200{
  "content": "Q29udGVudCBvZiB0aGUgYmxvYg==",
  "encoding": "base64",
  "url": "https://HOSTNAME/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15",
  "sha": "3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15",
  "size": 19,
  "node_id": "Q29udGVudCBvZiB0aGUgYmxvYg=="
}