是否可以在VSTS中提取列表中给定功能的所有工作项和错误?我没有看到"家长ID"或类似的我可以搜索。
问题是我想将查询用于"工作项"仪表板上的磁贴显示此特定功能的错误和工作项的数量。
解决方法是使用标记注释所有错误和工作项,然后对其进行过滤,但这是我想避免的手动步骤。
谢谢: - )
答案 0 :(得分:2)
一个帖子中有两个问题。
首先是查询,是的,使用hierarchical query很容易拉出所有“后代”工作项。
根据小部件,您必须使用查询平铺; 工作项图表表示Hierarchical queries are not supported
。
请注意,根祖先包含在计数中。
答案 1 :(得分:0)
您可custom dashboard widget(VSTS扩展程序)与REST API一起显示您想要的结果。
简单示例(显示查询的子工作项数):
<!DOCTYPE html>
<html>
<head>
<title>Custom widget</title>
<meta charset="utf-8" />
<script src="node_modules/vss-web-extension-sdk/lib/VSS.SDK.js"></script>
<script type="text/javascript">
VSS.init({
explicitNotifyLoaded: true,
usePlatformStyles:true
});
VSS.require(["TFS/Dashboards/WidgetHelpers", "TFS/TestManagement/RestClient", "TFS/WorkItemTracking/RestClient", "TFS/Build/RestClient"], function (WidgetHelpers, TFS_Test_WebApi, TFS_Work_WebApi,TFS_Build_Client) {
WidgetHelpers.IncludeWidgetStyles();
VSS.register("WidgetStarain", function () {
var projectId = VSS.getWebContext().project.id;
var runQuery = function (widgetSettings) {
TFS_Work_WebApi.getClient().queryById('7633dab2-89e4-4da9-b03d-a16728ab71c5', projectId)
.then(function (workitemResult) {
var ss = "gg";
ss = workitemResult.workItemRelations[0].target.url;
var resultCount = workitemResult.workItemRelations.length;
$('div.childWorkItemCount').text(resultCount-1);
})
}
return {
load: function (widgetSettings) {
var $title = $('h2.title');
$title.text('starain widget custom');
runQuery(widgetSettings);
return WidgetHelpers.WidgetStatusHelper.Success();
}
}
});
VSS.notifyLoadSucceeded();
});
</script>
</head>
<body>
<div class="widget">
<h2 class="title">widgets sample</h2>
<div class="childWorkItemCount">-1</div>
</div>
</body>
</html>
.Json文件中的部分代码:
{
"id": "WidgetStarain",
"type": "ms.vss-dashboards-web.widget",
"targets": [ "ms.vss-dashboards-web.widget-catalog" ],
"properties": {
"name": "widget starain",
"description": "custom widget",
"catelogIconUrl": "Images/iconProperty.png",
"previewImageUrl": "Images/iconProperty.png",
"uri": "WidgetStarain.html",
"supportedSizes": [
{
"rowSpan": 1,
"columnSpan": 2
}
],
"supportedScopes": [ "project_team" ]
}
}