Что надо добавить в запрос к Gitlab API, чтобы выдернуть содержимое из конкретной ветки?

Ссылка скопирована
1 ответ

Подскажите, плиз, что надо добавить в запрос к Gitlab API, чтобы выдернуть содержимое из конкретной ветки? У меня есть запрос, в котором выдергивается содержимое определенной папки только из мастер-ветки. Почитал в интернетах, говорят, что надо добавить branchName, ref или ref_name к запросу - ничего не помогло, содержимое не из той ветки тянется

Дополнительно:

о каком запросе "чтобы выдернуть содержимое" идёт речь? экспорт? релизы? пакеты?

  • Wexter,
    Есть проект, в котором несколько бранчей. Я сейчас забираю содержимое из дефолтной ветки из конкретной папки с помощью запроса
    https://<адрес моего гитлаба>/api/v4/projects/<номер проекта>/repository/archive.tar?private_token=<мой токен>&path=<путь к папке>

    https://<адрес моего гитлаба>/api/v4/projects/<номер проекта>/repository/archive.tar?private_token=<мой токен>&path=<путь к папке>

    А мне нужно получить содержимое не из дефолтной ветки, а из ветки ХХХХ. В разных инструкциях говорят, что надо добавить branchName, ref или ref_name, но получаю все равно только из дефолтной ветки.

  • Сергей,
    https://docs.gitlab.com/ee/api/repositories.html#g...

    sha string no
    The commit SHA to download. A tag, branch reference, or SHA can be used. If not specified, defaults to the tip of the default branch.

  • Вы же эту штуку используете? https://docs.gitlab.com/ee/api/repositories.html#g...

    Черным по белому написано про параметр sha:

    The commit SHA to download. A tag, branch reference, or SHA can be used. If not specified, defaults to the tip of the default branch.

    Ну и вдгононку
    https://forum.gitlab.com/t/direct-download-of-bran...
    https://forum.gitlab.com/t/download-full-repositor...

    • Да, спасибо большое, это оно!
    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Павел Админов Ответ

    Для того чтобы выдернуть содержимое из конкретной ветки с использованием Gitlab API, вам необходимо добавить параметр "ref" к вашему запросу. Этот параметр указывает на конкретную ветку, из которой вы хотите получить содержимое.

    Пример запроса к Gitlab API для получения содержимого из конкретной ветки (например, ветки "master") выглядит следующим образом:

    GET /projects/:id/repository/files/:file_path

    GET /projects/:id/repository/files/:file_path

    В данном запросе ":id" - это идентификатор вашего проекта в Gitlab, а ":file_path" - это путь к файлу, содержимое которого вы хотите получить. Для указания конкретной ветки добавьте параметр "ref=branch_name" к вашему запросу:

    GET /projects/:id/repository/files/:file_path?ref=branch_name

    GET /projects/:id/repository/files/:file_path?ref=branch_name

    Таким образом, Gitlab API будет возвращать содержимое файла из указанной ветки. Не забудьте заменить ":id", ":file_path" и "branch_name" на соответствующие значения вашего проекта, пути к файлу и названия ветки соответственно.

    Теперь вы можете использовать этот запрос для получения содержимого из конкретной ветки вашего проекта с помощью Gitlab API.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно