我使用了Joel的打印所有待办事项总动员卡解决方案来打印积压中的所有故事。我想要做的是将它扩展到让每一张卡片都打印出卡片所属的父功能的名称,这样我就可以将它们全部打印出来,并将它们放在一个表上,用于协作评估会话。
问题是,我很难找到该怎么做。他的代码片段:
queryArray[0] = {
key: CARD_TYPE,
type: 'hierarchicalrequirement',
query: '((Iteration.Name = "") AND (Release.Name = ""))',
fetch: 'Name,Iteration,Owner,FormattedID,PlanEstimate,ObjectID,Description,UserName',
order: 'Rank'
};
我似乎找不到要取的元素了!Parent列在示例查询页面(用于浏览器查询功能中),其中Parent.Name包含实际文本,但没有奏效--试图找到一个明确的引用似乎在逃避我。
我查看了位于以下位置的类型定义:
从该页面转到层次化需求的类型定义,表明它有一个父字段,以一种或另一种形式。我甚至不确定那个能不能解决我所看到的问题。有点卡住了,而且我不确定我想要做的事情甚至可以用层次化的需求对象类型来实现。
注意:我想,即使我找到了,我也需要添加一些代码来处理没有父母的故事--不过不用担心,一旦我找到了实际价值,就很容易处理了。
感谢任何能提供帮助的人:)
发布于 2014-03-05 06:59:04
我修改了Joel的应用程序,将PI/Feature的FormattedID包含到卡片中,当一个故事有父PI/Feature时。
您可以在这个github回购中看到代码。
用户故事的父字段引用另一个用户故事。如果要读取用户故事的父项目组合项(即功能对象),请使用“功能属性”或“PortfolioItem属性”。两者都将发挥作用:
if (data[i].PortfolioItem) {
//feature = data[i].PortfolioItem.FormattedID; //also works
//feature = data[i].Feature.Name; //also works
feature = data[i].Feature.FormattedID;
} else {
feature = "";
}
只要API的版本在代码中设置为1.37或更高版本(最多为1.43)。
PrintStoryCards应用是AppSDK1应用。1.33是AppSDK1.x1.29的最新版本,应用程序使用的是PortfoilioItems。PortfolioItem是在WS版本1.37的Rally中引入的。请参阅WS文档中的API版本控制部分。
如果您想要访问Portfolio项或want后期版本中引入的其他特性(最多1.43 ),这个语法将允许它。
<script type="text/javascript" src="/apps/1.33/sdk.js?apiVersion=1.43"></script>
这一点必须谨慎使用。有一件事肯定会中断,那就是时间盒开始和结束日期的计算。这就是为什么许多遗留的应用程序仍然只有1.29的原因。这是由于API版本1.30中的更改所致。
请注意,为AppSDK1设置更高级版本的WS的方法不适用于WS的v2.0。
发布于 2014-03-05 06:53:43
您应该能够将PortfolioItem添加到您的提取中。如果父类是一个故事,则使用“父”字段。如果父函数是一个特性(或您的最低级别PI是什么),则使用PortfolioItem字段。
然后在结果中你可以得到这样的结果:
var featureName = (story.PortfolioItem && story.PortfolioItem.Name) || 'None';
https://stackoverflow.com/questions/22187716
复制相似问题