谁能告诉我我做错了什么?我正在尝试为Microsoft的Team Services仪表板创建一个自定义小部件,但它似乎与文档不匹配。
我正在做的就是调用一个简单的API,它假设包含一个现有查询列表。我正在控制台中记录结果。但是我注销的结果与文档的属性不同。
根据.getQueries()API在这里; REST Client APIs。假设返回'IPromise<Contracts.QueryHierarchyItem[]>'
,QueryHierarchyItem包含此处列出的成员列表; QueryHierarchyItem
我注销的对象看起来像这样:
Array
->Object
---> _links
------> html
---------> href
------> self
---------> href
------> _proto
---> createdDate
---> hasChildren
---> id
---> isFolder
---> isPublic
---> lastModifiedBy
------>displayName
------>id
------>_proto
---> lastModifiedDate
---> name
---> path
---> url
---> _proto_
它没有像QueryHierarchyItem文档中描述的'children'
数组或boolean 'isDeleted'
数组等属性。为什么会这样?我误会了什么吗?
顺便说说。这是我正在使用的代码:
VSS.require(["TFS/Dashboards/WidgetHelpers", "TFS/WorkItemTracking/RestClient"],
function(WidgetHelpers, TFS_Wit_WebApi) {
WidgetHelpers.IncludeWidgetStyles();
VSS.register("HelloWorldWidget2", function() {
var projectId = VSS.getWebContext().project.id;
var getQueryInfo = function(widgetSettings) {
//******CALL TO REST API*********//
return TFS_Wit_WebApi.getClient().getQueries(projectId)
.then(function(queries) {
console.log(queries);
return true;
});
};
return {
load: function(widgetSettings) {
// Set your title
var $title = $('h2.title');
$title.text('Query Details 3');
return getQueryInfo(widgetSettings);
}
}
});
VSS.notifyLoadSucceeded();
});
任何帮助将非常感激。
getQueries()有三个可选参数:
- expand:Contracts.QueryExpand。可选的。
- 深度:数量。可选的。
- includeDeleted:boolean。可选的。
默认情况下,深度为“0”,这意味着它不包含查询/文件夹中的任何子对象。因此默认情况下它将为空白。您可以查询的最大深度为2.尝试添加这些可选参数以查看是否可以获得所需的结果。
有关可选参数的默认值,请参阅此链接以获取详细信息:Get a list of queries。