C# 如何从WPF或Windows应用程序获取azure DevOps服务器中具有版本的所有项目的列表
我想列出并显示来自windows/WPF应用程序的Azure DeveOps服务器中的所有项目文件。 早期我的应用程序从TFS服务器检索数据。现在我们的存储库已更改,现在使用Azure devops服务器代替TFS。 我正在寻找等效的下面的代码是在TFS中使用。我想对Azure DevOps服务器执行相同的操作 从TFS获取所有项目文件和对象的示例代码C# 如何从WPF或Windows应用程序获取azure DevOps服务器中具有版本的所有项目的列表,c#,wpf,git,tfs,azure-devops,C#,Wpf,Git,Tfs,Azure Devops,我想列出并显示来自windows/WPF应用程序的Azure DeveOps服务器中的所有项目文件。 早期我的应用程序从TFS服务器检索数据。现在我们的存储库已更改,现在使用Azure devops服务器代替TFS。 我正在寻找等效的下面的代码是在TFS中使用。我想对Azure DevOps服务器执行相同的操作 从TFS获取所有项目文件和对象的示例代码 Uri tfsUri; string OutPutFolderDB, DirectoryNextTo,
Uri tfsUri;
string OutPutFolderDB, DirectoryNextTo, Path;
tfsUri = new Uri("http://" + serverURI + "/testProjectCollection");
var targettfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(tfsUri);
Microsoft.TeamFoundation.Server.ICommonStructureService stuctureService =
targettfs.GetService<Microsoft.TeamFoundation.Server.ICommonStructureService>();
Microsoft.TeamFoundation.Server.ProjectInfo[] projects = stuctureService.ListAllProjects();
VersionControlServer vcs = targettfs.GetService<VersionControlServer>();
uritfsuri;
字符串OutPutFolderDB,DirectoryNextTo,Path;
tfsUri=新Uri(“http://“+serverURI+”/testProjectCollection”);
var targettfs=tfstreamprojectcollectionfactory.GetTeamProjectCollection(tfsUri);
Microsoft.TeamFoundation.Server.ICommonStructureService结构保留=
GetService();
Microsoft.TeamFoundation.Server.ProjectInfo[]projects=stuctReservice.ListAllProjects();
VersionControlServer vcs=targettfs.GetService();
我想知道在Azure devops服务器中使用的类似类型的上述代码。我的存储库是git。我们建议您可以使用REST API在power shell脚本中添加 样本:
$connectionToken="{PAT}"
$base64AuthInfo= [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($connectionToken)"))
$OrgUrl = "https://dev.azure.com/{Org name}/_apis/projects?api-version=6.0-preview.4"
$ListProject = (Invoke-RestMethod -Uri $OrgUrl -Method Get -UseDefaultCredential -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)})
$ListProjectCount = $ListProject.count
Write-Host $ListProjectCount
$ListProjectName= $ListProject.value.name
ForEach ($Name in $ListProjectName)
{
Write-Host $Name
}
结果:
我们还可以使用客户端API列出项目,相应的代码用C#:
我们可以获取repo ID,然后您可以使用下面的API列出repo文件:
GET https://dev.azure.com/{org name}/{project name}/_apis/git/repositories/{repo ID}/items?recursionLevel=Full&api-version=4.1
结果:
你试过什么?你看过任何文档吗?我找不到文档。如果有@Daniel Mann如何包含凭据@Vito Liu msfta你是说令牌吗?如果是,请检查此项以进行管理。谢谢@Vito Liu MSFT。我希望将所有内容都保存在存储库中。是否有任何RESTAPI来获取项目中的所有文件?我的确切要求是替换现有的示例代码。非常感谢@Vito Liu MSFT的帮助。实际上我也有拼写错误的问题。现在我可以列出所有文件。请也看看这个问题@刘维托
GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories?api-version=6.0-preview.1
GET https://dev.azure.com/{org name}/{project name}/_apis/git/repositories/{repo ID}/items?recursionLevel=Full&api-version=4.1