Я пытаюсь извлечь дни начала и окончания моих спринтов из базы данных Jira. Казалось бы, это простая задача, но на самом деле (насколько я понял, по крайней мере) это не так.
Пытаясь понять это, я нашел одно решение, но оно кажется мне настолько громоздким и сложным, что у меня возникают проблемы с мыслью, что это единственный способ.
Вот что я узнал:
Спринты не являются собственным выражением Jira, и плагин Greenhopper использует таблицу projectversion для представления спринтов.
Таблица projectversion содержит некоторую информацию о спринте, например название, к какому проекту он принадлежит и дату выпуска. Дату выпуска можно рассматривать как дату окончания спринта, но дата начала отсутствует.
Если вы запускаете спринты подряд, возможно, дату начала спринта можно установить на дату выпуска предыдущего спринта плюс один день? Но это действительно не очень хорошее решение.
Итак, я просмотрел модель данных Jira, и лучшая и единственная ссылка на дату начала спринта, которую я нашел, была в структуре свойств.
Вы можете определить свойства и присвоить им значения. В основной таблице этой структуры, таблице свойств, я нашел такие записи:
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, а свойство конфигурации — это конфигурация проекта. Для свойства property_type установлено значение 6, что говорит нам искать значение в таблице propertytext.
Значение, хранящееся в таблице propertytext, представляет собой строку XML, содержащую различную информацию о проекте, среди которых такие записи:
<entry>
<string>BURNDOWN_START_DATE_10074</string>
<long>1316988000000</long>
</entry>
Вот оно. Лучший эквивалент, который я нашел для даты начала спринта. Скрыт в строке xml в таблице свойств.
Мой вопрос: действительно ли это единственный способ найти даты начала моего спринта?