API отдыха DevOps Azure getWorkItems не возвращает указанные поля - PullRequest
3 голосов
/ 23 марта 2019

Я новичок в Azure DevOps Extensions. Не уверен, что я делаю не так, но я не могу получить определенные поля для рабочих элементов, возвращаемых getWorkItems REST API.

Я перепробовал все, что смог найти на досках объявлений, и до сих пор не могу получить определенные поля для возврата в результаты.

Вы можете увидеть массив полей ниже, чтобы увидеть конкретные поля, которые я пытаюсь вернуть с результатами.

Вот поля, которые я не могу вернуть в результатах

"Microsoft.VSTS.Scheduling.StartDate"
"Microsoft.VSTS.Scheduling.StoryPoints"
"Microsoft.VSTS.Scheduling.TargetDate"
"System.AssignedTo"
"Microsoft.VSTS.Scheduling.CompletedWork"

     VSS.require(["VSS/Service", "TFS/WorkItemTracking/RestClient"],
        function (VSS_Service, TFS_Wit_WebApi) {
            // Get the REST client
            var witClient = VSS_Service.getCollectionClient(TFS_Wit_WebApi.WorkItemTrackingHttpClient);

            var fields = ["System.Id", "Microsoft.VSTS.Scheduling.StartDate", "Microsoft.VSTS.Scheduling.StoryPoints", "Microsoft.VSTS.Scheduling.TargetDate", "System.WorkItemType", "System.Title", "System.AssignedTo", "System.State", "System.Tags", "Microsoft.VSTS.Scheduling.CompletedWork", "System.Description", "Microsoft.VSTS.Scheduling.FinishDate"];
            var ids = [workItemID];

            witClient.getWorkItems(ids, fields).then( 
            function(result) {
                document.getElementById("codeblock").innerText = JSON.stringify(result);

            });

        });

Вот JSON, который возвращается


    [{
        "id": 7743,
        "rev": 3,
        "fields": {
            "System.Id": 1234,
            "System.WorkItemType": "Feature",
            "System.State": "Closed",
            "System.Title": "Sprint 39 - Technical"
        },
        "url": "https://<companyurl>/_apis/wit/workItems/1234"
    }]

Я даже пробовал необязательный параметр ExpandAll в вызове getWorkItems, и эти поля не возвращаются с результатами.

т.е:


    witClient.getWorkItems(ids, undefined, undefined, ["All"]).then( 
            function(result) {

Я в замешательстве, любая помощь или направление о том, где искать эти значения, были бы очень полезны и оценены.

1 Ответ

0 голосов
/ 26 марта 2019

Я понял, что я делаю неправильно.В файле манифеста расширения vss-extension.json есть раздел для областей.Мне пришлось изменить область действия с «vso.work» на «vso.work_full», и это помогло.Теперь я могу получить все поля для рабочих элементов

"scopes": ["vso.work"],

К

"scopes": ["vso.work_full"],
...