Получение версии файла из TFS rest API Get Item

Я извлекаю файл из локальной системы управления версиями TFS, используя Rest API. Я не могу найти документацию по конкретному предприятию, но, похоже, она очень близка к версии 4.1 Azure Get Item. Согласно этой документации, он должен возвращать TfvcItem, содержащий множество метаданных, включая версию. Однако, когда я делаю вызов, он возвращает только содержимое файла (поле содержимого документа TfvcItem).

Как получить текущую версию файла?
Мне нужна версия, когда я проверяю ее с помощью создать набор изменений. Мне это не нужно по какой-либо другой причине, поэтому, если вы знаете другой способ вернуть отредактированный файл, это поможет.


person Don Chambers    schedule 04.05.2020    source источник
comment
Какую версию TFS вы используете?   -  person Shamrai Aleksander    schedule 05.05.2020


Ответы (1)


Вместо использования Get Item API некоторые связанные REST API не задокументированы. Для этих REST API мы можем использовать такие инструменты, как Fiddler, или напрямую нажимать F12 - network в Chrome, чтобы отслеживать их.

Вы должны использовать приведенный ниже API для получения последней версии набора изменений файла:

post   https://dev.azure.com/{organizationname}/{Projectname}/_api/_versioncontrol/history?__v=5 

Для тела:

{"repositoryId":"","searchCriteria":"{\"itemPath\":\"$/MyFirstProject/Main/1.txt\",\"itemVersion\":\"T\",\"top\":50}"}

itemPath — это ваш серверный путь к файлу.

Из ответа вы получите информацию о версии, такую ​​как "version": "139", вместо содержимого файла.

Не уверен, что у вас подробная версия TFS, я использовал Azure DevOps Service для примера. Может быть какая-то разница для разных версий TFS. Вы можете отслеживать детальный API на своей стороне.

Более подробную информацию можно найти в этом вопросе: Документация по API выпуска VSTS

person PatrickLu-MSFT    schedule 05.05.2020