Получение содержимого ветки git через API в Azure Devops

Я пытаюсь перечислить все файлы для определенной ветки в Azure Devops Repo через API. Кто-нибудь знает, возможно ли это. Я нашел только информацию о том, как перечислить содержимое репо. Правда, неясно, из какой ветки идет информация (могу почерпнуть из контента), но идея не в этом...

Я ищу способ вывести содержимое ветки на Azure Devops через API.


person Insomnia    schedule 18.03.2021    source источник
comment
У вас была возможность проверить предоставленное решение?   -  person Bhargavi Annadevara    schedule 01.05.2021


Ответы (1)


Вы можете использовать Элементы — Список API для извлечения/скачивания содержимого репозитория Azure DevOps следующим образом:

https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/items/items?path=/&versionDescriptor[versionOptions]=0&versionDescriptor[versionType]=0&versionDescriptor[version]={branchName}&resolveLfs=true&$format=zip&api-version=5.0&download=true

Замените заполнители {organization}, {project}, {repositoryId} и {branchName} вашими фактическими значениями.

P.S.: Вы можете получить RepositoryId из репозиториев - Список API.

person Bhargavi Annadevara    schedule 30.04.2021
comment
Я могу подтвердить, что упомянутое выше решение Bhargavi работает в HTTP-запросе. Я отправил запрос без настроек versionDescriptor и ветки, получил загруженный файл .zip. https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/items?path=/&$format=zip&download=true Кроме того, я пытаюсь понять, как сделать то же самое через SDK. item = git_client.get_item(repo.id, path="/abc/def/g.txt", download="true") возвращенный элемент имеет правильный ответ, но вариант загрузки не работает, возможно, ошибка в SDK. - person Dylan Wang; 03.05.2021