在生成的卡片中打印带有父功能名称的故事

时间:2014-03-05 03:09:25

标签: rally

我使用了Joel Krooswyk的Print All Backlog Story Cards解决方案来打印积压的所有故事。 我想做的是扩展这个以使每张卡打印出该卡所属的父功能的名称,这样我就可以打印出来并将它们放在桌子上进行协作估算。

问题是,我无法找到如何做到这一点。 他的代码片段:

           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包含实际文本但是没有用 - 试图找到一个明确的引用似乎是在逃避我

我查看了位于以下位置的类型定义:

https://rally1.rallydev.com/slm/webservice/v2.0/typedefinition/?fetch=ObjectID&pagesize=100&pretty=true

从该页面转到层次结构要求的类型定义表明它具有一种或另一种形式的父字段。 我甚至不确定那个会解决我正在看的问题。 有点卡住,我不确定我想要做的是甚至可以使用分层需求对象类型。

注意:我假设即使我找到了它,我也需要添加一些代码来处理无父母的故事 - 不要担心这一点,一旦找到实际价值就很容易处理。

非常感谢能够提供帮助的任何人:)

2 个答案:

答案 0 :(得分:0)

您应该能够将PortfolioItem添加到您的提取中。如果父级是故事,则父级是使用的字段。如果父项是一个特征(或者你的最低级别的PI是什么),则PortfolioItem是使用的字段。

然后在结果中你可以这样得到它:

var featureName = (story.PortfolioItem && story.PortfolioItem.Name) || 'None';

答案 1 :(得分:0)

我修改了Joel的应用程序,以便在故事有父PI /功能时将PI / Feature的FormattedID包含在卡片中。

您可以在this github repo中看到代码。

用户故事的父字段引用另一个用户故事。 如果要读取用户素材的父项目组合项(即Feature对象),请使用Feature属性或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.x的最新版本 1.29,应用程序使用的是不知道PortfoilioItems。 PortfolioItem是在WS API版本1.37中的Rally中引入的。 请参阅WS API文档中的API versioning section

如果要访问项目组合项目,或者在WS API的更高版本中引入的其他功能,最高可达1.43,则此语法将允许它。

<script type="text/javascript" src="/apps/1.33/sdk.js?apiVersion=1.43"></script>

必须谨慎使用。肯定会破坏的一件事是计算时间盒的开始和结束日期。这就是为什么许多传统的Rally App Catalog应用仍然是1.29。 这是由于API版本1.30的更改。

请注意,为AppSDK1设置更高级的WS API版本的方法不适用于WS API的v2.0。