什么是从JIRA数据库中提取冲刺的开始和结束日期,最简单的方法?

我试图从中提取吉拉数据库我冲刺的开始和结束日期。 这似乎是一个简单的任务,但它确实(据我已经找到了至少)不是。

虽然试图弄清楚这一点,我找到了一个解决方案,但在我看来,如此繁琐,难到我想这是唯一的出路问题。

以下是我发现:

短跑是不是原生吉拉表情和Greenhopper插件使用projectversion表来表示冲刺。

该projectversion表包含有关冲刺,就像名字的一些信息,它属于和发布日期是什么项目。 的发行日期可以被认为是一个冲刺的结束日期,但开始日期缺失。

如果您运行背靠背冲刺也许冲刺的开始日期可以设置为先前冲刺的发布日期加一天? 但是,这真的不是一个很好的解决方案。

于是,我寻遍吉拉数据模型,我发现一个冲刺的开始日期的最佳和唯一的参考是产权结构。

您可以定义属性并为它们分配值。 在这种结构的主表中,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添加了一个按键来配置的属性。 该etity_id字段引用project.id和配置属性是一个项目的配置。 该房产类型被设置为6,它告诉我们寻找在propertytext表中的值。

存储在propertytext表中的值表明它自身含有有关项目的不同的信息,其中的条目是这样一个XML字符串:

<entry> <string>BURNDOWN_START_DATE_10074</string> <long>1316988000000</long> </entry>

它就在那里。 最好相当于我发现一个冲刺的开始日期。 隐藏在属性表中的XML字符串。

我的问题是:这真的是找到我的冲刺开始日期的唯一途径?

--------------解决方案-------------

似乎有越来越没有结束的方式,并通过SOAP吉拉/ REST API开始冲刺的日期。

您可以提取您冲刺的开始和结束日期 using: com.pyxis.greenhopper.jira.configurations.ProjectConfiguration#getVersionStartDate com.pyxis.greenhopper.jira.configurations.ProjectConfiguration#getVersionEndDate

要使用这个类,你可以写一个吉拉插件 - 与Atlassian的插件SDK开发

另一种选择是写GreenHopper模块 - GreenHopper开发者文档

SELECT * FROM a0_60db71_sprint

是MySQL的问题而不是Java。

连接到您的JIRA MySQL数据库,寻找匹配表*_sprint

在上表中的字段有:

  • Closed (boolean)
  • ID (key)
  • Start_Date (timestamp)
  • End_Date (timestamp)
  • Complete_Date (timestamp)

我得到一个任务最近获得冲刺的名单与日期特定的项目。 首先,我需要找到项目表的CustomField ID项目的ID从表中的CustomField / customfieldvalue场冲刺。

下面是结果

select
p.pname as "Project Name",
s.NAME as "Sprint Name",
from_unixtime(s.START_DATE / 1000) as "Start Date",
from_unixtime(s.END_DATE / 1000) as "End Date",
from_unixtime(s.COMPLETE_DATE / 1000 ) as "Complete Date"
from
customfieldvalue as c,
jiraissue as i,
project as p,
AO_60DB71_SPRINT as s
where
p.id = <project ID> and p.id = i.project and
c.issue = i.id and c.customfield = <customfield ID> and
c.stringvalue = s.id
group by s.name
;

我们的MySQL服务器处于不同的时区,所以我不得不修改输出时间。

...
from_unixtime(s.START_DATE / 1000) - interval 1 hour as "Start Date",
...

也许这将帮助别人

发现开始日期和敏捷JIRA冲刺结束日期最简单的方法是打jiraschema.AO_60DB71_SPRINT表。 这个商店start_dateend_date大INT。 吉拉因为某些原因存储这些日期格式为int数据类型。 要转换的int日期数据类型,这里是MS SQL查询。 如果需要,您可以轻松将其更改为其他数据库。

###This query pulls start_date, end_date, completed_date of all non active sprints in MS SQL.###

select ID, Name SprintName
,START_DATE / 60 / 60 / 24 / 1000 + CAST('12/31/1969' as datetime)+1 StartDate
,END_DATE / 60 / 60 / 24 / 1000 + CAST('12/31/1969' as datetime)+1 EndDate
,COMPLETE_DATE / 60 / 60 / 24 / 1000 + CAST('12/31/1969' as datetime)+1 CompletedDate
FROM
AO_60DB71_SPRINT as sprint
where COMPLETE_DATE is not null

我不建议访问JIRA数据库直接,如果能避免它。 无证JIRA敏捷REST API,如REST / greenhopper / 1.0 /快速/图表/ sprintreport.json?rapidViewId = 652&sprintId = 577,其中rapidViewId是主板ID,为您提供了Sprint的信息。 这和其他REST资源可以在JIRA-Python库在http://jira-python.readthedocs.org/en/latest/可见

分类:MySQL的 时间:2015-03-15 人气:8
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.345 (s). 10 q(s)