3

使用 Rally SDK 2.0,我正在自定义看板应用程序。我正在做的一项工作是尝试添加谁将故事设置为 BLOCKED 状态。

调试时似乎没问题,但由于某种原因,我的 blocker.BlockedBy 设置为未定义。我猜我需要做一些与此不同的事情?

var blocker = this.getRecord().get("Blocker");

// blocker.BlockedBy 在这里是未定义的 // blocker 似乎已填充,但我不确定它实际上是一个 Blocker 对象。

我还在卡片的附加字段中添加了“Blocker” getAdditionalFetchFields: function () { return ['Owner', 'FormattedID', 'Blocked', 'Ready', 'Priority', 'DefectStatus', 'Defects', “PlanEstimate”、“LastUpdateDate”、“TaskStatus”、“ Blocker ”];

在文档中它说类型 Blocker 是“不可创建类型”,所以不确定这实际上意味着什么......

似乎从调用中返回的对象有一个 _type 字段,将其定义为“Blocker”。

有点卡住了,我尝试将结果类型转换为 Blocker,但仍然没有太多运气。只是想知道谁阻止了这个故事:)

4

1 回答 1

2

通过添加Blocker为 fetch 字段,它只返回一个表示 Blocker 对象的简单 ref 对象。但您也可以告诉 fetch 获取 Blocker 字段。因此,如果您添加BlockedBy为另一个要获取的字段,它将为您的拦截器抓取该字段。WSAPI 在这里做了一个小魔术来弄清楚你的意思是BlockedByBlocker对象上。

BlockedBy是一个User对象,因此从那里获取用户名的最简单方法是使用

var blockerName = this.getRecord().get('Blocker').BlockedBy._refObjectName;
于 2012-08-02T14:51:06.317 回答