首页 > 解决方案 > 如何获取 VSTS 迭代的 TimeFrame(当前或未来)

问题描述

我正在使用 VSTS REST API 来获取某个项目的迭代。我想弄清楚的是“当前迭代”。

 var vstsConnection = new VssConnection(new Uri(VstsUrl), new VssBasicCredential(string.Empty, VstsPAT));
            var witClient = vstsConnection.GetClient<WorkItemTrackingHttpClient>();
//get current iteration in VS
            var iterations = witClient.GetClassificationNodeAsync(project: VstsProject, structureGroup: Microsoft.TeamFoundation.WorkItemTracking.WebApi.Models.TreeStructureGroup.Iterations, depth: 5).Result;


 // i could iterate over the iterations but i'll just get the first one for now..      
            var attributes = iterations.Children.FirstOrDefault().Attributes;

这里的属性只给了我开始日期和结束日期。我感兴趣的是“时间框架”告诉我它是当前的还是未来的。

通过调用https://dev.azure.com/{organization}/{project}/{teamid}/_apis/work/teamsettings/iterations

我确实得到了3个字段:

{"count":3,"value":[{"id":"f2ac8484-de34-4d5c-8838-cd388a952257","name":"Iteration 1","path":"Web And Mobile Team - Project Documentation\\Iteration 1","attributes":{"startDate":"2018-12-24T00:00:00Z","finishDate":"2018-12-31T00:00:00Z","timeFrame":"current"},"url":"https://url/_apis/work/teamsettings/iterations/f2ac8484-de34-4d5c-8838-cd388a952257"},{"id":"f57903a8-22e5-474a-a450-a7401a53511e","name":"Iteration 2","path":"Web And Mobile Team - Project Documentation\\Iteration 2","attributes":{"startDate":null,"finishDate":null,"**timeFrame**":"future"},"url":"url/_apis/work/teamsettings/iterations/f57903a8-22e5-474a-a450-a7401a53511e"},{"id":"2cfc4be3-0665-46de-81e0-0302138bd276","name":"Iteration 3","path":"Web And Mobile Team - Project Documentation\\Iteration 3","attributes":{"startDate":null,"finishDate":null,"**timeFrame**":"future"},"url":"url/_apis/work/teamsettings/iterations/2cfc4be3-0665-46de-81e0-0302138bd276"}]}

任何帮助,将不胜感激。

标签: c#azure-devops

解决方案


在 REST Api 中,您可以添加属性$timeframe=current,您将获得当前迭代:

https://dev.azure.com/{organization}/{project}/{teamid}/_apis/work/teamsettings/iterations?$timeframe=current&api-version=4.0

推荐阅读