Azure devops VSTS仪表板小部件getWorkItem可选参数展开

Azure devops VSTS仪表板小部件getWorkItem可选参数展开,azure-devops,azure-devops-extensions,azure-devops-rest-api,Azure Devops,Azure Devops Extensions,Azure Devops Rest Api,我正在编写一个VSTS仪表板小部件,用于 但是,在使用getWorkItem()函数时,我遇到了一个问题。我想获得给定的史诗下所有功能的ID(我已经知道史诗ID)。我相信,如果我将getWorkItem()的expand参数设置为“All”,我将得到所有特性及其各自ID的列表。不幸的是,我不知道如何定义expand参数的“type”以及如何将其作为值正确地传递给getWorkItem()函数 这是我的密码: VSS.require(["VSS/Service", "TFS/Dashboards/

我正在编写一个VSTS仪表板小部件,用于

但是,在使用getWorkItem()函数时,我遇到了一个问题。我想获得给定的史诗下所有功能的ID(我已经知道史诗ID)。我相信,如果我将getWorkItem()的expand参数设置为“All”,我将得到所有特性及其各自ID的列表。不幸的是,我不知道如何定义expand参数的“type”以及如何将其作为值正确地传递给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()函数中

我想将函数的可选扩展参数设置为“All”,但不知道它的类型以及如何正确定义和使用它

基于,它是枚举,因此您可以在getWorkItem函数中指定整数(例如4)

export enum WorkItemExpand {
    None = 0,
    Relations = 1,
    Fields = 2,
    Links = 3,
    All = 4,
}

使用枚举很好,但也可以从“TFS/WorkItemTracking/Contracts”模块传入值。您可以在此处找到引用(显示模块路径、“类”和枚举):

上面的链接来自TFS WorkItemTracking API参考,可在此处找到:

以下是如何将其添加到代码中:

  • 声明“TFS/WorkItemTracking/Contracts”模块
  • 将模块传递到回调中(以下示例中的“U合同”)
  • 根据需要使用“\u合同”
  • 这是您的代码,已更新为使用“合同”模块:

    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);
                        });
            }
        });
    });
    
    希望有帮助