如何从Rally API获取相关对象

时间:2018-09-19 21:00:48

标签: node.js api rally

使用node.js中的REST api,我正在执行PortfolioItem /功能查询并收到以下示例结果...

{ _rallyAPIMajor: '2',
       _rallyAPIMinor: '0',
       _ref: 'https://rally1.rallydev.com/slm/webservice/v2.0/portfolioitem/feature/number',
       _refObjectUUID: '...',
       _objectVersion: '52',
       _refObjectName: 'Product',
       CreationDate: '2013-05-28T15:27:23.920Z',
       _CreatedAt: 'May 28, 2013',
       ObjectID: 112345,
       ObjectUUID: '...',
       VersionId: '52',
       Subscription: [Object],
       Workspace: [Object],
       Changesets: [Object],
       Connections: [Object],
       CreatedBy: [Object],
       Description: '',
       Discussion: [Object],
       DisplayColor: '#848689',
       Expedite: false,
       FormattedID: 'F6',
       LastUpdateDate: '2016-06-23T17:53:20.456Z',
       LatestDiscussionAgeInMinutes: null,
       Milestones: [Object],
       Name: 'Product',
       Notes: '',
       Owner: [Object],
       Project: [Object],
       Ready: false,
       RevisionHistory: [Object], ...

我有兴趣从Project: [Object]Owner: [Object]获取项目名称和所有者名称。

使用Fetch: 'true'来检索对象上的所有字段,不包含项目或所有者的_ref: (a url)_refObjectUUID: (internal object ID)

我对Project:_refObjectNameOwner:_refObject的名字感兴趣。

我不知道如何从地图项访问这些其他对象。

2 个答案:

答案 0 :(得分:0)

当然,只需将要水合的字段添加到提取中即可。通常,fetch = true会很慢,因此仅包括您需要的字段。获取级联,因此,如果获取名称,则会在包含该字段的任何对象上将其水化。

因此,您的情况如下:

fetch: ['Project', 'Name', 'Owner']
对于响应中的任何对象,应始终返回

_ref和_refObjectName。

答案 1 :(得分:0)

适当的保湿,可以使用:

var projectName = result.Results[x].Project.Name;
var ownerName = result.Results[x].Owner._refObjectName;