public async Task <IEnumerable <WorkItem> > GetAutomatedTestCasesAsync() { var workItemBatchQueries = new List <Task <WorkItemBatchGetResponse> >(); var workItemQueryResult = await this.workItemTracker.PostWorkItemQueryAsync(WorkItemQuery.GetAutomatedTestCases); var workItemCount = workItemQueryResult.WorkItems.Count(); for (int i = 0; i < workItemCount; i += 200) { var request = new WorkItemBatchGetRequest { Fields = new string[] { WorkItemFields.Title, WorkItemFields.AutomatedTestStorage, WorkItemFields.AutomatedTestName, WorkItemFields.Tags, WorkItemFields.AutomatedTestId }, Ids = workItemQueryResult.WorkItems.Skip(i).Take(200).Select(workItem => workItem.Id) }; workItemBatchQueries.Add(this.workItemTracker.PostWorkItemBatchQueryAsync(request)); } await Task.WhenAll(workItemBatchQueries); var workItems = new List <WorkItem>(); foreach (var workItemBatchQuery in workItemBatchQueries) { workItems.AddRange(workItemBatchQuery.Result.WorkItems); } return(workItems); }
public async Task <WorkItemBatchGetResponse> PostWorkItemBatchQueryAsync(WorkItemBatchGetRequest workItemBatchGetRequest) { return(JsonConvert.DeserializeObject <WorkItemBatchGetResponse>( await this.azureService.PostAsJsonAsync( $"{this.launchSettings.Arguments.Organisation}/{this.launchSettings.Arguments.Project}/_apis/wit/workitemsbatch?api-version=6.0", workItemBatchGetRequest).Result.Content.ReadAsStringAsync())); }