【发布时间】:2019-02-11 18:36:44
【问题描述】:
我正在使用 VSTS/TFS (https://docs.microsoft.com/en-us/vsts/integrate/concepts/dotnet-client-libraries?view=vsts) 的 .NET 客户端库来检索所有团队项目的所有构建定义的任务列表。我正在使用 NuGet 包 Microsoft.TeamFoundation.ExtendedClient 的 v16.139.0-preview 版本(我需要这样做,因为我还需要检索发布定义工作流,您需要 Microsoft.VisualStudio.Services.Release.Client ,它有一个ExtendedClient 的依赖项要求)。服务器(本地)是 TFS 2017.2。我无论如何都无法检索任务/阶段/过程。这是我的代码:
VssConnection connection = new VssConnection(new Uri("http://tfsserver:8080/tfs/defaultcollection"), new VssClientCredentials());
ProjectHttpClient projectClient = connection.GetClient<ProjectHttpClient>();
IEnumerable<TeamProjectReference> projects = projectClient.GetProjects().Result;
BuildHttpClient buildClient = connection.GetClient<BuildHttpClient>();
foreach (var project in projects)
{
IPagedList<BuildDefinition> buildDefinitions = buildClient.GetFullDefinitionsAsync2(project: project.Name, name: null).Result;
foreach (BuildDefinition buildDefinition in buildDefinitions)
{
// get the tasks
}
}
- 我尝试使用 buildClient.GetDefinitionAsync 重新检索构建定义,但没有其他效果
- “Steps”属性(将被弃用)始终为 null
- “进程”属性为空
- 没有可用的“阶段”属性(从构建定义中具有多个阶段的选项来看似乎合乎逻辑
- BuildDefinitionStep 有一个可用的合同:https://docs.microsoft.com/en-us/vsts/extend/reference/client/api/tfs/build/contracts/builddefinitionstep?view=vsts
- REST API 文档没有名为“Step”的属性:https://docs.microsoft.com/en-us/rest/api/vsts/build/definitions/get?view=vsts-rest-4.1#builddefinition
有人知道如何解决这个问题吗?
【问题讨论】:
标签: c# tfs azure-devops azure-devops-rest-api