[英]VSTS Dashboard Widget getWorkItem optional parameter expand
我正在编写用于工作项目跟踪的VSTS仪表板小部件
但是,在使用getWorkItem()函数时遇到了问题。 我想获取给定Epic下所有功能的ID (我已经知道史诗ID)。 我有信心,如果将getWorkItem()的扩展参数设置为“全部”,我将获得所有功能及其各自ID的列表。 不幸的是,我不知道如何定义expand参数的“类型”,以及如何正确地将其作为值传递给getWorkItem()函数。
这是我的代码:
VSS.require(["VSS/Service", "TFS/Dashboards/WidgetHelpers", "TFS/WorkItemTracking/RestClient"],
function (VSS_Service, WidgetHelpers, TFS_Wit_WebApi) {
WidgetHelpers.IncludeWidgetStyles();
VSS.register("myapp", function () {
var fetchData = function (widgetSettings) {
const epicID = 123456;
// Get a WIT client to make REST calls to VSTS
return VSS_Service.getCollectionClient(TFS_Wit_WebApi.WorkItemTrackingHttpClient).getWorkItem(123456, null, null, All).
then(
//Successful retrieval of workItems
function (workItems) {
$('#myText').text(JSON.stringify(workItems));
console.log(workItems);
// Use the widget helper and return success as Widget Status
return WidgetHelpers.WidgetStatusHelper.Success();
},
function (error) {
// Use the widget helper and return failure as Widget Status
return WidgetHelpers.WidgetStatusHelper.Failure(error.message);
});
}
这是VSTS的扩展参考。它解释了值可以是什么,但没有说明如何将其传递给getWorkItem()函数。
我想将函数的可选扩展参数设置为“全部”,但不知道其类型以及如何正确定义和使用它。
根据源代码 ,它是枚举,因此您可以在getWorkItem函数中指定整数(例如4)。
export enum WorkItemExpand {
None = 0,
Relations = 1,
Fields = 2,
Links = 3,
All = 4,
}
使用枚举是好的,但是您也可以从“ TFS / WorkItemTracking / Contracts”模块中传递值。 您可以在此处找到参考(显示模块路径,“类”和枚举):
上面的链接来自《 TFS WorkItemTracking API参考》,可以在这里找到:
在代码中添加代码的方法如下:
这是您的代码,已更新为使用“合同”模块:
VSS.require([
"VSS/Service",
"TFS/Dashboards/WidgetHelpers",
"TFS/WorkItemTracking/RestClient",
"TFS/WorkItemTracking/Contracts"],
function (VSS_Service, WidgetHelpers, TFS_Wit_WebApi, _Contracts) {
WidgetHelpers.IncludeWidgetStyles();
VSS.register("myapp", function () {
var fetchData = function (widgetSettings) {
const epicID = 123456;
// Get a WIT client to make REST calls to VSTS
return VSS_Service.getCollectionClient(TFS_Wit_WebApi.WorkItemTrackingHttpClient).
getWorkItem(123456, null, null, _Contracts.WorkItemExpand.All).
then(
//Successful retrieval of workItems
function (workItems) {
$('#myText').text(JSON.stringify(workItems));
console.log(workItems);
// Use the widget helper and return success as Widget Status
return WidgetHelpers.WidgetStatusHelper.Success();
},
function (error) {
// Use the widget helper and return failure as Widget Status
return WidgetHelpers.WidgetStatusHelper.Failure(error.message);
});
}
});
});
希望有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.