我正在使用Rest API从本地TFS源代码控制中提取文件。我找不到内部特定的文档,但是它似乎非常接近Azure Get Item调用的4.1版本。根据此文档,它应该返回一个TfvcItem对象,该对象具有很多元数据,包括版本。但是,当我打电话时,它仅返回文件内容(文档的TfvcItem的content字段)。
如何获取文件的当前版本?用create changeset签入时需要版本。由于任何其他原因,我都不需要它,因此,如果您知道另一种签入已编辑文件的方式,将很有帮助。
没有使用某些相关的REST API,而不是使用Get Item API。对于这些REST API,我们可以使用Fiddler之类的工具,也可以直接按Chrome中的F12-network
进行跟踪。
您应该使用下面的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。
更多详细信息,请看一下这个问题:VSTS Release API Documentation