正在从TFS rest API Get-Item获取文件版本



我正在使用Rest API从内部部署TFS源代码管理中提取一个文件。我找不到特定于内部部署的文档,但它似乎非常接近Azure Get-Item调用的4.1版本。根据这个文档,它应该返回一个TfvcItem对象,该对象有很多元数据,包括版本。但是,当我进行调用时,它只返回文件内容(文档的TfvcItem的内容字段(。

如何获取文件的当前版本
当我用创建变更集检查时,我需要这个版本。我不需要它,因为任何其他原因,所以如果你知道另一种方法来签入编辑过的文件,那会有所帮助。

没有使用Get-Item API,而是没有记录一些相关的RESTAPI。对于这些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服务作为示例。不同的TFS版本可能存在一些差异。你可以自己跟踪API的细节。

更多详细信息请看一下这个问题:VSTS发布API文档

也有同样的问题。您可以通过指定";scopePath";URI参数,而不是";路径";。API文档中的Microsoft示例似乎不正确,因为它确实只返回项目内容:https://learn.microsoft.com/en-us/rest/api/azure/devops/tfvc/items/get?view=azure-devops-rest-6.0#获取项目元数据和/或单个项目的内容。

最新更新