【问题标题】:Download entire folder from Version Control via TFS 2015 RestFul Apis通过 TFS 2015 RestFul API 从版本控制下载整个文件夹
【发布时间】:2015-12-18 14:19:15
【问题描述】:

有没有办法使用 RestFul api 从 TFS 2015 版本控制中获取整个文件夹的下载 url?

我可以通过/_apis//tfvc/items/ api 获取有关项目的元数据,但没有可用的downloadUrl 属性。

我可以通过/_apis//build/builds/{buildNumber}/artifacts api 查看构建工件的downloadUrl 属性。

我可以通过 GET api 为该项目下载文件夹中的每个文件,但这可能需要大量请求。

我使用的是 api 版本 2.0。

【问题讨论】:

  • 您介意展示一下您如何下载包含文件的文件夹吗?

标签: tfs tfs-2015 azure-devops


【解决方案1】:

目前没有版本控制 API 的项目/文件夹的任何下载网址。

要获取整个文件夹,您可以将其压缩并使用 Rest Api 下载,格式如下:

[Get] https://xxx/defaultcollection/_apis/tfvc/items?path=<Folder Path>&api-version=1.0

并在请求头中添加以下内容:Accept: application/zip

【讨论】:

  • 啊,我错过了Accept: application/zip。非常感谢。
  • 顺便感谢您的帮助。我在这里问了另一个问题,您可能会喜欢 - stackoverflow.com/questions/34611326/…
  • @Eddie - MSFT 如果文件夹中没有 zip 文件,并且我尝试使用上述请求标头获取该文件夹,它会为该文件夹下载 zip 文件吗?
  • @Sonali 是的,您将获得该文件夹的 zip 文件。
  • @Eddie - MSFT 我尝试了同样的方法,但没有下载文件。这是示例请求:$.ajax({ type: 'GET', url: instanceName + 'DefaultCollection/_apis/tfvc/items?scopePath=' + path + '&amp;api-version=' + apiversion, contentType: 'application/json', headers: { 'Authorization': 'Basic ' + btoa("" + ":" + PAT), 'Accept': 'application/zip' }, dataType: 'json', success: function(data) { console.log(data); } });
猜你喜欢
  • 2019-04-03
  • 1970-01-01
  • 2011-02-28
  • 2019-01-15
  • 2011-08-02
  • 1970-01-01
  • 2018-04-10
  • 1970-01-01
  • 2023-03-24
相关资源
最近更新 更多