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);
        }
Пример #2
0
 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()));
 }