先决条件
- 该技术要求您具有Rational Application for协作应用程序生命周期(CLM)解决方案的操作实例,至少具有Jazz™Team Server和变更与配置(CCM)应用程序。
- 您还需要配置为与CLM服务器和适当的数据仓库一起使用的IBM®Rational®Reporting for Development Intelligence或Rational®Insight的操作实例。
- 最后,确保已保存工作项,并且数据仓库更新作业已成功完成。
技术概述
在协作性生命周期管理(CLM)应用程序的Rational解决方案附带的Reporting Data Model(数据仓库)包中(请参阅参考资料获得更多信息),“操作数据源”(ODS)部分中有“请求区域”文件夹的多个子文件夹。 :
- 请求相关请求
- 请求相关请求(通过关系链接)
- 请求关系链接
您可以使用它们根据工作项与其他工作项的关系来询问工作项。 图1显示了这些区域在默认的Rational CLM Reporting软件包中的位置。
图1. CLM报告包中工作项链接区域的位置
“ 请求关系链接”选项提供了最灵活的机制,这是本文的主题。
图2显示了工作项链接的表示。 每个链接都有一个链接类型标识符 ,用于确定链接的头和尾工作项之间的关系。
图2.交互项链接图
图3显示了工作项23(父项)和工作项45(子项)之间的父子链接。
图3.父子链接的示例表示
表1列出了记录的工作项链接类型以及所使用的链接类型标识符。
表1.链接类型和标识符
| 链接类型 | 身份标识 |
|---|---|
| com.ibm.workitem.linktype.blocksworkitem | 积木 |
| com.ibm.workitem.linktype.duplicateworkitem | 重复,重复者 |
| com.ibm.workitem.linktype.parentworkitem | 父母,孩子 |
| com.ibm.workitem.linktype.relatedworkitem | 有关 |
| com.ibm.workitem.linktype.resolvesworkitem | 解决者 |
| com.ibm.workitem.linktype.tracksworkitem | 有助于 |
| com.ibm.workitem.linktype.trackedworkitem | 音轨 |
存储在数据仓库中的链接表示形式通过“请求关系链接”查询主题( ODS>请求区域>请求关系链接 )中的数据项公开。 这允许创建需要工作项链接信息的查询。 对于每种链接类型,您都可以通过查询主题中包含的查询项获得表2中所示的信息。
表2.查询项目和描述
| 查询项目 | 描述 |
|---|---|
| 请求关系ID | 数据仓库中此工作项链接的标识符 |
| 外键2 | 链接的爵士乐URI |
| 被删除 | 表示链接是否已删除的标志:0 =否,1 =是 |
| 名称 | 链接的Jazz链接类型标识符 |
| Request1的ID | 链接开头的工作项的数据仓库特定标识符 |
| Request2 ID | 链接末尾的工作项的数据仓库特定标识符 |
| 网址 | Jazz链接对象的URL |
这些粗体查询项对于将相关工作项及其特定信息拼接在一起至关重要。 头和尾工作项是通过使用其唯一的数据仓库标识符来指定的。 这些与Jazz工作项标识符不同。
图4显示了示例工作项及其链接关系。
图4.工作项层次结构示例
对于此数据集示例,此后用R表示的Request查询主题( ODS> Request Area> Request )提供了如图5所示的关键数据,其中Request ID是工作项的数据仓库特定标识符,而External是Key1是实际的CLM工作项ID。
图5.请求查询主题公开了带有关系链接的所有工作项
请求关系链接查询主题(以下显示为RRL)( ODS>请求区域>请求关系链接 )提供了图6中所示的数据。
图6. Request Relational Link查询主题公开了所有存在的工作项链接
通过使用Join动作,可以找到父工作项信息(Join Link为RRL.Request2到R.Request的ID)。 随后的Join动作将子工作项信息添加到查询结果中(Join Link为RRL.Request1到R.Request的ID)。 如图7所示。
图7.使用Join创建父子工作项的查询结果
本文的下载部分中的压缩文件包含示例报告,其中包含有关这两种情况的详细信息。 这些报告还显示了如何通过使用Epic,Story和Task(在Scrum流程模板中)的工作项类型之间的层次结构,可以报告多个以上的关系。
建立结合父母和孩子相关工作项目的报告
本节将指导您完成如何创建显示工作项目的父子关系级别的报告。 为了帮助定义必要的Join操作,使用的报告编写工具是IBM®Cognos®Report Studio。 所有使用的数据项都位于CLM软件包的“ 操作数据存储”>“请求区域”部分内。
步骤1.创建一个查询,该查询返回所有工作项的列表
- 在“请求”查询主题中,将以下查询项添加到查询中:
- 要求编号
- 外键1
- 名称
- 将此查询
AllWorkItems。
步骤2.创建查询以获取所有父链接
- 创建一个新查询。
- 在“请求关系链接”查询主题中,将以下查询项添加到查询中:
- Request1的ID
- Request2 ID
- 名称
- 定义一个详细信息过滤器,该过滤器将返回的数据集限制为仅父项类型的链接。 表达式定义应与此类似:
Business View.RequestRelational Link.Name='com.ibm.team.workitem.linktype.parentworkitem' - 重命名查询
ParentLinks。
步骤3.使用Join动作创建带有父工作项信息的查询
- 使用贡献查询定义一个新的Join动作:AllWorkItems和ParentLinks。 确保链接定义在AllWorkItems>请求ID和ParentLinks> Request2 ID之间 。
- 定义联接的输出查询,以包括来自参与查询的以下数据项:
- AllWorkItems>外部密钥1
- AllWorkItems>名称
- ParentLinks> Request1 ID
- 为了帮助区分每个数据项的用途,请重命名如下:
- AllWorkItems>
Parent work itemID的外键1 - AllWorkItems>
Parent work item Summary名称Parent work item Summary - ParentLinks> Request1 ID到
Child work item Request ID
- AllWorkItems>
- 将联接输出查询重命名为
Parent WI Detail + Child Ref ID。
步骤4.合并子项和父项工作项详细信息
- 使用以下有帮助的查询定义新的Join动作:AllWorkItems和Parent WI Detail + Child Ref ID(WI代表工作项)。 确保链接定义在AllWorkItems>请求ID和父WI详细信息+子引用ID>子工作项请求ID之间 。
- 定义联接的输出查询,以包括来自参与查询的以下数据项:
- 家长WI详细信息+子女参考号>家长工作项目ID
- 家长WI详细信息+子女参考号>家长工作项目摘要
- AllWorkItems>外部密钥1
- AllWorkItems>名称
- 按照指示重命名以下数据项:
- AllWorkItems>
Child Work Item ID外键1 - AllWorkItems>
Child Work Item Summary名称的Child Work Item Summary
- AllWorkItems>
- Query Explorer工作区中显示的最终查询结构类似于图8。
图8.所有定义的查询和联接
步骤5.创建报告页面
- 在“报表”页面上,添加一个列表对象。
- 修改与父级和子级WI详细信息查询关联的数据>查询列表属性。
- 按以下顺序将父项和子项WI详细信息查询中的数据项添加到List对象:
- 上级工作项目编号
- 家长工作项目摘要
- 童工项目编号
- 童工项目摘要
- 将“父工作项目ID”列的内容分组。
- 将“父工作项目摘要”列的内容分组。
对从JKE Banking填充的数据仓库运行报告将得到类似于图9所示的输出。
图9.报告输出显示了父级和子级工作项列表
基于此示例,您可以通过其他联接扩展这些步骤,以提供包含其他工作项关系层的查询结果。 您需要知道要报告的层次结构层数,并定义报告查询结构。 没有一种机制可以递归实现。
本文介绍如何在协作生命周期管理(CLM)解决方案中创建定制报告,以展示工作项之间的父子关系。通过使用IBM Rational Reporting for Development Intelligence或Rational Insight,结合Cognos ReportStudio,我们演示了如何通过查询数据仓库并应用Join操作来提取和展示工作项链接信息。

被折叠的 条评论
为什么被折叠?



