【问题标题】:How to download solution from Visual Studio Team Services programmatically如何以编程方式从 Visual Studio Team Services 下载解决方案
【发布时间】:2017-08-15 08:05:22
【问题描述】:

我需要一种从 Visual Studio Team Services 下载源代码的方法,基本上我需要一个压缩的解决方案,就像我在 VSTS 站点上时可以手动下载一样。

我尝试过的:

我已经通过VSTS API reference 但不幸的是我找不到我需要的东西。

我能做的解决方法是:

  1. 发出 POST 并检索 items batch,这将返回 Main 分支中所有文件的列表
  2. 遍历列表并逐个下载文件

但我希望有一种方法可以给我一个包含所有文件的分支的 zip。

【问题讨论】:

    标签: visual-studio tfs azure-devops azure-devops-rest-api


    【解决方案1】:

    我设法使用.NET Client Libraries for VSTS:Microsoft.TeamFoundationServer.Client 和 Microsoft.VisualStudio.Services.Client 找到了解决方案,可以猜测它们是 VSTS REST API 功能的包装。

    为了从 TFVC 中检索压缩文件夹内容,我使用了以下方法:

    Microsoft.TeamFoundation.SourceControl.WebApi.TfvcHttpClient.GetItemsBatchZipAsync(TfvcItemRequestData itemRequestData,Guid 项目)

    这是一个带有完整代码示例的Gist

    【讨论】:

      【解决方案2】:

      从源代码下载文件有多种方式:

      选项 1:通过 REST API 下载文件。

      详细步骤可以参考here。然后您可以将文件压缩为 zip 格式。

      选项 2:按构建队列下载文件。

      您可以使用 Archive Files 任务和 Copy Files 任务添加构建定义,以将 .sln 文件从源代码压缩到本地路径。两个任务的设置如下:

      存档文件任务

      要存档的根文件夹(或文件):单击 按钮选择要下载的.sln 文件。

      复制文件任务

      源文件夹:$(Build.ArtifactStagingDirectory)

      内容:*.zip

      目标文件夹:可以定义本地路径,如C:\a

      【讨论】:

      • 感谢您的帮助,我已经用更多细节更新了我的问题,我应该从一开始就这样做。
      • ok,可以参考stackoverflow.com/questions/34357671/…,别忘了使用请求头Accept: application/zip
      猜你喜欢
      • 2010-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-28
      • 1970-01-01
      相关资源
      最近更新 更多