【发布时间】:2011-12-14 07:02:22
【问题描述】:
我正在尝试从 Jira 数据库中提取我的 sprint 的开始和结束日期。这似乎是一项简单的任务,但实际上(至少据我所知)并非如此。
在试图弄清楚这一点时,我找到了一种解决方案,但在我看来,它是如此繁琐和困难,以至于我认为这是唯一的方法。
这是我发现的:
Sprint 不是原生 Jira 表达式,Greenhopper 插件使用 projectversion 表来表示 sprint。
projectversion 表包含有关 sprint 的一些信息,例如名称、所属项目以及发布日期。发布日期可以认为是 sprint 的结束日期,但缺少开始日期。
如果您背靠背冲刺,也许冲刺的开始日期可以设置为前一个冲刺的发布日期加上一天?但这确实不是一个好的解决方案。
所以我搜索了 Jira 数据模型,我发现对 sprint 开始日期的最佳且唯一的参考是在属性结构中。
您可以定义属性并为其分配值。在这个结构的主表 propertyentry 表中,我发现了这样的条目:
ID ENTITY_NAME ENTITY_ID PROPERTY_KEY propertytype
----- -------------- ------------ ------------------------------------ ------------
10288 GreenHopper 10010 CONFIGURATION 6
10304 GreenHopper 10012 CONFIGURATION 6
10312 GreenHopper 10013 CONFIGURATION 6
10449 GreenHopper 10014 CONFIGURATION 6
所以 GreenHopper 添加了一个属性,其键设置为 CONFIGURATION。 etity_id 字段引用 project.id 并且配置属性是项目配置。 property_type 设置为 6,它告诉我们在 propertytext 表中查找值。
propertytext 表中存储的值显示为 XML 字符串,其中包含有关项目的不同信息,其中条目如下:
<entry>
<string>BURNDOWN_START_DATE_10074</string>
<long>1316988000000</long>
</entry>
就是这样。我找到的最好的 sprint 开始日期。隐藏在属性表中的 xml 字符串中。
我的问题是:这真的是找到我的 sprint 开始日期的唯一方法吗?
【问题讨论】:
-
为什么一定要直接使用数据库?有一些选项可以显示您的 sprint 视图(在 JIRA 版本中)......如果您需要数据,我会首先尝试使用 JIRA 的 API 来获取信息。
-
我使用数据库来提取我无法通过 Jira Web 应用程序获取的工作日志信息。就像每个团队成员每天记录的小时数报告一样。我将研究 Jira API,看看它提供了什么。
标签: mysql sql database jira jira-agile