使用 Powershell 和 Visual Studio 2019 查询 TFS 2015 源代码存储库

Querying TFS 2015 Source Code Repository with Powershell and Visual Studio 2019

我正在尝试使用 Visual Studio 2019 创建一个 Powershell 脚本,该脚本访问特定的 Team Foundation Server 2015 团队项目及其分支之一。目标是 return 在特定时间段内创建或修改的文件的名称。为此,我的印象是我必须过滤 .CreationTime 和 .LastWriteTime 属性。

我已使用 [Microsoft.TeamFoundation.Client] API 成功访问项目集合,但在使用版本控制存储库实例化 [Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer] 时无法访问单个团队项目。已确保身份验证,但没有 vcs 方法识别存储库路径。 (我故意省略了下面代码中的程序集声明。)

    $tfsCollectionURI =[System.Uri]'http://tfs.infosys.com:8080/tfs/collection/'
    $projectsCollection = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection($tfsCollectionURI)

   if($projectsCollection.HasAuthenticated)
  {
       $vcs = $projectsCollection.GetService([Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer])
      }

            $projectPath = 'http://tfs.infosys.com:8080/tfs/collection/
            project/_git/Enterprise'
    $vcs.GetAllTeamProjects($true)
    $vcs.GetTeamProject('EHBs')
    $vcs.GetItems($projectPath)

根据您的共享代码,您正在尝试获取错误的项目路径。

http://tfs.infosys.com:8080/tfs/collection/project/_git/Enterprise 这似乎是 url 门户网站 git 仓库中的一个。

但是您的代码用于 TFVC 版本控制。项目路径应该是 $/MyFirstProject/Main-branch2.0-child1

您可以使用下面的 this rest api 在团队项目中查找 Git 回购:

GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}?api-version=4.1

并且可以在Powershell中使用GET Invoke-RestMethod来执行RESTAPI,PowerShell RESTAPI编程请参考以下link:

https://wilsonmar.github.io/powershell-rest-api/