如何在 HP ALM C# OTA 中使用 ID 范围过滤缺陷

问题描述

我需要使用其 OTA 从 HP ALM 过滤特定范围 ID 的缺陷。这需要在不从 ALM 调用所有缺陷并从代码中过滤它们的情况下完成,因为这会显着增加不可取的时间。

例如,我可以按如下方式过滤单个缺陷:

        TDAPIOLELib.BugFactory OBugFactory = alm_core.tDConnection.BugFactory as TDAPIOLELib.BugFactory;
        TDAPIOLELib.TDFilter OTDFilter = OBugFactory.Filter as TDAPIOLELib.TDFilter;
        TDAPIOLELib.List OBugList;
       
        // Gets only the bug with ID 3
        OTDFilter["BG_BUG_ID"] = 3;

        OBugList = OBugFactory.NewList(OTDFilter.Text);
       

有没有办法在 1 到 100 之间的 ID 范围内获取错误列表。像这样:

        // Gets all the bugs between 1-100
        OTDFilter["BG_BUG_ID_MIN"] = 1;
        OTDFilter["BG_BUG_ID_MAX"] = 100;

        OBugList = OBugFactory.NewList(OTDFilter.Text);

解决方法

过滤1-100之间所有缺陷的完整解决方案如下:

TDAPIOLELib.BugFactory OBugFactory = alm_core.tDConnection.BugFactory as TDAPIOLELib.BugFactory;
TDAPIOLELib.TDFilter OTDFilter = OBugFactory.Filter as TDAPIOLELib.TDFilter;
TDAPIOLELib.List OBugList;
List<DefectOutputModel> AllBugList = new List<DefectOutputModel>();
    OTDFilter.Text= @"[Filter]{
                                TableName: BUG,ColumnName: BG_BUG_ID,LogicalFilter: "">= 1 And <= 100"",VisualFilter: "">= 1 And <= 100"",SortOrder: 1,SortDirection: 0,NO_CASE:
                            }";
    OBugList = OBugFactory.NewList(OTDFilter.;

OTDFilter.Text 的查询是通过首先在 HP ALM webapp 中按 ID 过滤缺陷,然后复制过滤查询文本并将其粘贴到此处来获得的。