Разработка расширения VSTS / TFS - ограничение URL для GET-запроса для метода getWorkItems () - PullRequest
0 голосов
/ 14 сентября 2018

Мы разрабатываем расширение VSTS / TFS.Мы также запрашиваем данные рабочих элементов с помощью Rest Client, предоставленного VSTS / TFS.Для получения подробной информации обо всех рабочих элементах мы используем метод ниже: https://docs.microsoft.com/en-us/azure/devops/extend/reference/client/api/tfs/workitemtracking/restclient/workitemtrackinghttpclient2_1?view=vsts#method_getWorkItems

Метод getWorkItems генерирует запрос GET.Все идентификаторы рабочих элементов передаются в качестве параметров запроса, которые превышают ограничение URL-адреса в 2048 символов.Таким образом, для решения этой проблемы на данный момент мы объединяем идентификаторы рабочих элементов в более мелкие куски.Но затем он увеличивает количество вызовов API Rest.

Есть ли какой-либо другой метод, с помощью которого я могу получить подробную информацию обо всех рабочих элементах, используя любой метод в определенном списке VSTS / TFS?

Ответы [ 2 ]

0 голосов
/ 01 октября 2018

Вот ответ

let client = VssService.getCollectionClient(WitClient.WorkItemTrackingHttpClient5);
client.getWorkItemsBatch(<WitContracts.WorkItemBatchGetRequest>{ ids: [1, 2, 3] })
0 голосов
/ 15 сентября 2018

Использование функции queryById() или queryByWiql() в TFS / WorkItemTracking / RestClient для извлечения рабочих элементов через Query.

Например:

 witClient.queryById('7633dab2-89e4-4da9-b03d-a16728ab71c5', projectId)
                    .then(function (workitemResult) {....})



query = {
                        query: "SELECT [System.Id] "
                             + "FROM WorkItem WHERE [System.WorkItemType] = 'Feature' "
                             + "AND [System.State] NOT IN ('Closed','Completed','Removed','Done') "
                             + "AND [System.TeamProject] = @project"
                    };
witClient.queryByWiql(query, projectId, allteams[0].id).then(function (result) {


                        console.log(result);

                    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...