【问题标题】:how to filter Defect search by active projects in Rally using Web API如何使用 Web API 在 Rally 中按活动项目过滤缺陷搜索
【发布时间】:2015-05-21 17:29:48
【问题描述】:

我构建了一个自定义搜索工具,允许通过 Web API 从其他应用程序搜索 Rally,但我遇到了问题。现在我允许搜索缺陷,但我注意到与已关闭项目相关的搜索结果中出现了缺陷。我需要过滤掉这些。我想知道在查询另一个对象时是否有办法访问引用对象的属性,例如,如果我有一个查询来搜索名称包含某些文本的缺陷,例如https://rally1.rallydev.com/slm/webservice/v2.0/defect?query=(Name 包含“关键字”),我是否可以在该查询中包含一些内容,以说明我只希望通过使用 Defect 上的 Project 属性来打开项目的缺陷,例如 Project.State 等于“Open”。基本上我想知道是否有一种方法可以在 OData-ish 格式的一个查询中执行此操作。或者作为替代方案,如果我单独查询所有打开项目的列表,我是否可以在查询中添加条件以说出类似(名称包含“关键字”)AND(ProjectId = ... OR ProjectId OR ...)?非常感谢任何想法或建议。

【问题讨论】:

    标签: rally


    【解决方案1】:

    对缺陷(或任何其他工作项类型)的查询不应返回已关闭项目的项。 WS API 查询不会搜索已关闭的项目。

    • 在项目中创建了一个缺陷。它恰好有 FormattedID DE529
    • 在 WS API 中测试(FormattedID = DE529)。

    这个 json 被返回:

    {
    QueryResult: {
    _rallyAPIMajor: "2",
    _rallyAPIMinor: "0",
    Errors: [ ],
    Warnings: [ ],
    TotalResultCount: 1,
    StartIndex: 1,
    PageSize: 20,
    Results: [
    {
    _rallyAPIMajor: "2",
    _rallyAPIMinor: "0",
    _ref: "https://rally1.rallydev.com/slm/webservice/v2.0/defect/36182496495",
    _refObjectUUID: "aa35839a-5e49-44c6-8be7-2fb17bbd91bf",
    _refObjectName: "bad defect",
    _type: "Defect"
    }
    ]
    }
    }
    
    • 关闭项目。运行相同的查询:

    没有结果:

    {
    QueryResult: {
    _rallyAPIMajor: "2",
    _rallyAPIMinor: "0",
    Errors: [ ],
    Warnings: [ ],
    TotalResultCount: 0,
    StartIndex: 1,
    PageSize: 20,
    Results: [ ]
    }
    }
    

    此外,无法按州查询项目。即使工作空间1234中有关闭的项目,此查询也会返回0结果:

    https://rally1.rallydev.com/slm/webservice/v2.0/project?workspace=https://rally1.rallydev.com/slm/webservice/v2.0/workspace/12345&query=(State = Closed)
    

    Rally 中的项目名称不必是唯一的。当您有两个同名项目(一个是 Open,另一个是 Closed)时,按名称识别项目可能会在极端情况下产生误导性结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-29
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多