首页 > 解决方案 > 如何使用 Javascript 查询自定义 API 中的 Rally“项目”字段?

问题描述

我正在尝试确定一种仅使用 Rally API 在我的 Javascript 中显示特定项目的缺陷的方法。我尝试添加https://rally1.rallydev.com/slm/webservice/v2.0/project/84123456320d/defect?query=(Resolution%20!=%20%22None%22)&fetch=FormattedID,Name,Resolution, c_ResolutionSummary,Project,Description&pagesize=2000 "(我的自定义缺陷查询)但这对我不起作用,当我在浏览器中测试它时,我得到一个“解析失败”错误,即使我确定这是正确的项目#.(这在不添加项目/编号部分的情况下可以正常工作,并且会返回大量缺陷)。

所以我现在的替代方法是简单地查询 Rally 缺陷中的“项目”字段,并检查它是否适用于特定条件下的特定项目。为此,我只需使用上面的“项目”字段。

问题是,当我在这个 var 上实际运行 console.log 时:

var project = data["QueryResult"]["Results"][i]["Project"];

我得到一个包含大量信息的长跨度结果,并且不适用于 .includes。

我怎样才能简单地查询项目的名称并将其作为 var 取回?因此,如果我们的项目只是“Happy Team”,我希望该 var 上的 console.log 只会返回“Happy Team”。

要求:

  "https://rally1.rallydev.com/slm/webservice/v2.0/defect?query=(Resolution%20!=%20%22None%22)&fetch=FormattedID,Name,Resolution,c_ResolutionSummary,Project,Description&pagesize=2000",

变量:

var project = data["QueryResult"]["Results"][i]["Project"];

称呼:

console.log(project);

输出:

{ _rallyAPIMajor: '2',
  _rallyAPIMinor: '0',
  _ref: 'https://rally1.rallydev.com/slm/webservice/v2.0/project/123456789',
  _refObjectUUID: 'redacted',
  _objectVersion: '17',
  _refObjectName: 'E_Team',
  Description: '<span style="color: rgb(51, 51, 51); font-family: Arial, sans-serif; font-size: 14px; white-space: pre-wrap; background-color: rgb(255, 255, 255);">This is a description changed from original (redacted).</span>',

标签: javascriptrally

解决方案


项目作为对象返回。您应该可以通过再深入一层来获得名称:

var projectName = data.QueryResult.Results[i].Project._refObjectName;

无论您的 fetch 参数如何,总是在对象上返回 _refObjectName。您还可以将 Name 添加到您的 fetch 列表中,然后也使用 Project 返回的 Name 字段。


推荐阅读