使用Rally SDK 2.0,我正在自定义看板应用程序。我正在执行的一项操作是尝试添加将故事设置为“已阻止”状态的人员。

调试时似乎还可以,但是由于某种原因,我的blocker.BlockedBy设置为undefined。我猜我需要做些不同的事情吗?

var blocker = this.getRecord()。get(“Blocker”);

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

我也在卡的其他字段中添加了“阻止程序”
getAdditionalFetchFields:function(){
return ['所有者','FormattedID','已阻止','就绪','优先级','DefectStatus','Defects,“PlanEstimate”,“LastUpdateDate”,“TaskStatus”,“ Blocker ”];

在文档中它说类型阻止程序是“不可创建的类型”,因此不确定这实际上意味着什么...

似乎从调用返回的对象具有_type字段,将其定义为“阻止程序”。

Kinda卡住了,我尝试过将结果强制转换为Blocker,但运气还不算太好。只是想让谁阻止了这个故事:)

最佳答案

通过将Blocker添加为访存字段,它仅返回代表Blocker对象的简单ref对象。但是您也可以告诉fetch来获取Blocker字段。因此,如果您将BlockedBy添加为另一个要提取的字段,它将为您的阻止者获取它。 WSAPI在这里做了一点魔术,以弄清楚您是在BlockedBy对象上指的是Blocker
BlockedByUser对象,因此从那里获取用户名称的最简单方法是

var blockerName = this.getRecord().get('Blocker').BlockedBy._refObjectName;

关于rally - 访问blocker.BlockedBy,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11776912/

10-10 14:43