CRUD для файлов репозитория
Создание, чтение, обновление и удаление файлов репозитория с помощью этой API
Позволяет получить информацию о файле в репозитории, такую как имя, размер, содержимое. Обратите внимание, что содержимое файла закодировано в Base64. Этот конечный пункт может быть доступен без аутентификации, если репозиторий является общедоступным.
GET /projects/:id/repository/files/:file_path
curl --request GET --header 'PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK' 'https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fmodels%2Fkey%2Erb?ref=master'
Пример ответа:
{
"file_name": "key.rb",
"file_path": "app/models/key.rb",
"size": 1476,
"encoding": "base64",
"content": "IyA9PSBTY2hlbWEgSW5mb3...",
"ref": "master",
"blob_id": "79f7bbd25901e8334750839545a9bd021f0e4c83",
"commit_id": "d5a3ff139356ce33e37e73add446f16869741b50",
"last_commit_id": "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"
}
Параметры:
file_path
(обязательный) - Полный путь к файлу, закодированный в URL. Например, lib%2Fclass%2Erbref
(обязательный) - Имя ветки, тега или коммитаGET /projects/:id/repository/files/:file_path/raw
curl --request GET --header 'PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK' 'https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fmodels%2Fkey%2Erb/raw?ref=master'
Параметры:
file_path
(обязательный) - Полный путь к файлу, закодированный в URL. Например, lib%2Fclass%2Erbref
(обязательный) - Имя ветки, тега или коммита## Создание нового файла в репозиторииPOST /projects/:id/repository/files/:file_path
curl --request POST --header 'PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK' 'https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fprojectrb%2E?branch=master&author_email=author%40example.com&author_name=Firstname%20Lastname&content=some%20content&commit_message=create%20a%20new%20file'
Пример ответа:
{
"file_name": "app/project.rb",
"branch": "master"
}
Параметры:
file_path
(обязательный) - Полный путь к файлу, закодированный в URL. Например, lib%2Fclass%2Erbbranch
(обязательный) - Имя веткиencoding
(необязательный) - Изменение кодировки на 'base64'. По умолчанию используется текст.author_email
(необязательный) - Указание адреса электронной почты автора коммитаauthor_name
(необязательный) - Указание имени автора коммитаcontent
(обязательный) - Содержимое файлаcommit_message
(обязательный) - Сообщение коммитаPUT /projects/:id/repository/files/:file_path
curl --request PUT --header 'PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK' 'https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fproject%2Erb?branch=master&author_email=author%40example.com&author_name=Firstname%20Lastname&content=some%20other%20content&commit_message=update%20file'
Пример ответа:
{
"file_name": "app/project.rb",
"branch": "master"
}
Параметры:- file_path
(обязательный) - URL-кодированный полный путь к файлу. Например, lib%2Fclass%2Erb
branch
(обязательный) - Название веткиencoding
(необязательный) - Изменение кодировки на 'base64'. По умолчанию используется текст.author_email
(необязательный) - Указание адреса электронной почты автора коммитаauthor_name
(необязательный) - Указание имени автора коммитаcontent
(обязательный) - Новый контент файлаcommit_message
(обязательный) - Сообщение коммитаlast_commit_id
(необязательный) - Последний известный идентификатор коммита файлаЕсли коммит не удался по какой-либо причине, мы возвращаем ошибку 400 с неспецифичным сообщением об ошибке. Возможные причины неудачного коммита включают:file_path
содержал /../
(попытка перехода по директории);В настоящее время gitlab-shell имеет булевый код возврата, что не позволяет GitLab указывать ошибку.
DELETE /projects/:id/repository/files/:file_path
curl --request DELETE --header 'PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK' 'https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fproject%2Erb?branch=master&author_email=author%40example.com&author_name=Firstname%20Lastname&commit_message=delete%20file'
Пример ответа:
{
"file_name": "app/project.rb",
"branch": "master"
}
Параметры:
file_path
(обязательный) - URL-кодированный полный путь к файлу. Например, lib%2Fclass%2Erbbranch
(обязательный) - Название веткиauthor_email
(необязательный) - Указание адреса электронной почты автора коммитаauthor_name
(необязательный) - Указание имени автора коммитаcommit_message
(обязательный) - Сообщение коммитаВы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )