Как получить связанные объекты из Rally API - PullRequest
0 голосов
/ 20 сентября 2018

Используя REST api в node.js, я делаю запрос PortfolioItem / features и получаю следующий пример результата ...

{ _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:_refObjectName и имя Owner:_refObject.

Я не знаю, как добраться до этих других объектов из Функции.

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

При правильном увлажнении это работало с использованием:

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

0 голосов
/ 20 сентября 2018

Конечно, просто добавьте поля, которые вы хотели бы гидратировать в ваш выбор.В общем случае fetch = true будет медленным, поэтому включайте только те поля, которые вам нужны.Извлекайте каскады, поэтому, если вы выберете Name, вы получите его гидратацией для любого объекта, включающего это поле.

Итак, в вашем случае, что-то вроде этого:

fetch: ['Project', 'Name', 'Owner']

_ref и _refObjectName должновсегда возвращаться для любых объектов в ответе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...