如何通过VSO rest api从TFVC存储库下载web.config文件

时间:2015-07-07 06:57:53

标签: rest azure-devops

visual studio online rest api有一个休息调用,可以下载TFVC存储库中文件的内容。我想下载所有TFVC存储库的最新版本,以便对我们所有项目进行内部部署备份。

除了一种类型的文件外,这个APi工作得很好:web.config。当我想下载web.config文件时,我得到404状态代码。所有其他文件类型(也是log4net.config和web.release.config)正确下载,我也得到202。我有正确的权限下载文件,文件也存在。

我使用此处记录的api:https://www.visualstudio.com/integrate/api/tfvc/items#Getafile

如您所见,存储库中文件的路径是URL的一部分。我认为使用这种语法,Visual Studio Online的默认安全性来自web.config等文件。在例如IIS下载的web.config文件也被禁用。对于我们的git存储库,这没有问题,因为api不包含url中文件的路径,而是作为url的参数。

有解决方法吗?一个没有记录的功能?

当我看到此文档https://www.visualstudio.com/integrate/api/tfvc/items#Getaspecificversion时,它会提到:

  

您可以指明获取文件时获得的版本,压缩文件夹或获取项目元数据。

zip文件夹部分尚未记录。你们中的任何人都知道如何调用api的那部分吗?这对我来说也是一种解决方法。

1 个答案:

答案 0 :(得分:0)

当您将路径用作查询参数

时,现在可以使用此功能
  

由于默认的ASP .NET保护,此格式应用于某些文件(如web.config),这些文件无法通过将路径用作URL的一部分来访问。响应是包含文件内容的流(application / octet-stream)。

http://fabrikam-fiber-inc.visualstudio.com/defaultcollection/_apis/tfvc/items?path=$/fabrikam-fiber-tfvc/website/website/web.config&api-version={version}

以上引用来自添加此文档后的文档:https://www.visualstudio.com/integrate/api/tfvc/items#Getafile