如何在HP ALM Rest API查询中编写链接连接?

时间:2017-02-01 12:58:57

标签: rest alm qc

我正在使用HP Quality Center版本11.52,我的任务是复制一系列图表或AnalysisItems,因为他们的官方名称是。我没有找到任何方法直接从AnalysisItem检索图形显示数据,因此我的方法是在这些AnalysisItems中提取过滤器,并将它们复制/细化为工作的REST调用或URL。这在大多数情况下都适用,但我遇到了链式连接的问题。以下是其中一个AnalysisItem的示例过滤器,如配置选项卡和过滤器文本框中所示:

Filter: Test: Project["My Project"]; 
Cross Filter: <Cross Filter Test Instance-Test Set>Test Set Folder[^Root\My Path\My Project\My Tests^]

这里有两个过滤子句,用&#39;;&#39;

分隔
  1. 我可以通过名称轻松找到项目下的测试实例。它是这样的:

    .../test-instances/?query={test.user-18["My Project"]}
    
  2. 当然,这要求我们使用user-18字段来存储项目名称,这是我公司中使用的逻辑分区,在作为QC实体的已定义项目中。

    1. 但是,如果我想交叉过滤这些找到的测试实例,只在特定文件夹中的测试集中找到实例,我将不得不进行链式连接,我希望这可能是这样写的:

      .../test-instances/?query={test.user-18["My Project"];
      test-set.test-set-folder.name["^Root\My Path\My Project\My Tests^"]}
      
    2. 然而,这给了我一个错误,说明&#34;实体:测试集没有名为:test-set-folder.name的字段。现在我知道了,但我希望它能理解最后一个标点符号之前的部分,也是一种关系。它没有。

      我也尝试过:

      .../test-instances/?query={test.user-18["My Project"];
      test-set[test-set-folder.name["^Root\My Path\My Project\My Tests^"]]}
      

      但是嵌套的方括号也不起作用。

      最后,我尝试了数据库中的#34; filter-data&#34;中的语法,它看起来像这样:

      .../test-instances/?query={test.user-18["My Project"];
      test-set[x]test-set-folder.name["^Root\My Path\My Project\My Tests^"]}
      

      这也是不允许的。

      我非常有信心我想要实现的目标是可行的,但文档并没有很大帮助。我想如果可以在QC的用户界面内的AnalsisItem中设置过滤器,那么它也应该可以在REST-API中使用。我已经尝试过广泛搜索API,但要么在文档中找不到,要么很难找到。

      任何人都可以帮助我使用正确的语法(如果有的话)吗?

1 个答案:

答案 0 :(得分:0)

关于什么解决了我的大多数问题,这里只是一个简单的答案:

关系

在文档中,您实际上可以找到一种称为“关系”的东西,它为您提供了很多与SQL连接非常相似的选项,它使您可以通过类似链接的方式基于值从一个实体获取结果。 / p>