【问题标题】:TFS 2015 Export collection all projects source codeTFS 2015 导出集合所有项目源代码
【发布时间】:2020-09-17 08:48:36
【问题描述】:

我需要一些帮助,了解如何一次克隆我的 TFS 2015(更新 3)集合中的所有项目 (git)。我在下面找到了更新版本的这个 powershell 脚本,我尝试将 API 版本从 4.0 更改为 2.0,但随后出现错误“方法调用失败,因为 [System.Management.Automation.PSCustomObject] 不包含名为'的方法ForEach'。”

很难找到如何在 TFS 2015 API 或任何其他方式中执行此克隆的示例。

$collection = "http://myserver:8080/tfs/DefaultCollection"

$projectsUrl = "$collection/_apis/projects?api-version=4.0"
$projects = Invoke-RestMethod -Uri $projectsUrl -Method Get -UseDefaultCredentials -ContentType application/json

$projects.value.ForEach({

  $reposUrl = "$collectionurl/$($_.name)/_apis/git/repositories?api-version=4.0"
  $repos = Invoke-RestMethod -Uri $reposUrl -Method Get -UseDefaultCredentials -ContentType application/json
  $repos.value.ForEach({
    git clone $_.remoteUrl --branch master --single-branch

  })
})

【问题讨论】:

    标签: git tfs tfs-2015 azure-devops-rest-api


    【解决方案1】:

    我让它工作了。第一个问题是我需要安装更新版本的 powershell。

    之后它只是修复了脚本中的一些问题,下面是工作脚本。

    $collection = "http://myserver:8080/tfs/DefaultCollection"
    
    $projectsUrl = "$collection/_apis/projects?api-version=2.3-preview"
    $projects = Invoke-RestMethod -Uri $projectsUrl -Method Get -UseDefaultCredentials -ContentType application/json -AllowUnencryptedAuthentication
    
    $projects.value.ForEach({
    
      $reposUrl = "$collection/$($_.name)/_apis/git/repositories?api-version=2.3-preview"
      $repos = Invoke-RestMethod -Uri $reposUrl -Method Get -UseDefaultCredentials -ContentType application/json -AllowUnencryptedAuthentication
      $repos.value.ForEach({
        git clone $_.remoteUrl --branch master --single-branch
    
      })
    })
    

    【讨论】:

    猜你喜欢
    • 2018-01-14
    • 1970-01-01
    • 2016-01-27
    • 2015-11-10
    • 2016-12-24
    • 2016-10-02
    • 1970-01-01
    • 2019-08-20
    • 1970-01-01
    相关资源
    最近更新 更多