我是 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"
}]
我什至在 getWorkItems
调用中尝试了 ExpandAll 可选参数,但结果并未返回这些字段。
即:
witClient.getWorkItems(ids, undefined, undefined, ["All"]).then(
function(result) {
我很困惑,任何关于在哪里寻找这些值的帮助或指导都将非常有帮助和感激。
最佳答案
我发现我做错了什么。在 vss-extension.json
扩展 list 文件中有一个范围部分。我不得不将范围从“vso.work”更改为“vso.work_full”,这就成功了。我现在能够获取工作项的所有字段
"scopes": ["vso.work"],
到
"scopes": ["vso.work_full"],
关于javascript - Azure DevOps Rest API getWorkItems 不返回指定的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55315978/