Задача
Получить список задач, за указанный период дат и указанный промежуток времени. Например:
задачи, которые были созданы с 01.06.2018 по 30.06.2018 в промежуток с 11:00 до 16:31
Пожелания
Иметь возможность вариативно указывать дополнительные параметры стандартного фильтра: проект, статус и др.
Решение
Данные, за которые будем цепляться
У нас имеется поле Created, которое отображает дату и время создания задачи.
Как и по примеру прошлой задачи - мы будем перебирать массив задач, а затем сравнивать фактическое время создания задачи с условиями поиска.
string jql = "project = \"" + argv[ 0 ] + "\" AND created >= \"" + argv[ 1 ] + "\" AND created <= \"" + argv[ 2 ] + "\"" ;
string[] selIssues = selectIssues(jql);
string[] needIssues;
date dateStartJql = parseDate( "yyyy-MM-dd HH:mm" , argv[ 1 ]);
date dateEndJql = parseDate( "yyyy-MM-dd HH:mm" , argv[ 2 ]);
for (string isc in selIssues)
{
number needStartHour = hour(dateStartJql);
number needEndHour = hour(dateEndJql);
number needStartMin = minute(dateStartJql);
number needEndMin = minute(dateEndJql);
number createdHourIssue = hour(%isc%.created);
number createdMinIssue = minute(%isc%.created);
if (createdHourIssue > needStartHour)
{
if (createdHourIssue < needEndHour)
{
needIssues+=isc;
}
else if (createdHourIssue == needEndHour)
{
if (createdMinIssue <= needEndMin)
{
needIssues+=isc;
}
}
}
if (createdHourIssue == needStartHour)
{
if (createdMinIssue >= needStartMin)
{
if (createdHourIssue < needEndHour)
{
needIssues+=isc;
}
else if (createdHourIssue == needEndHour)
{
if (createdMinIssue <= needEndMin)
{
needIssues+=isc;
}
}
}
}
}
return needIssues;
|
Пример на основе поставленной задачи
Найти задачи, созданные в проекте TRA. В период с 1 июня 2018 по 30 июня 2018, которые были созданы в интервале времени с 11:00 до 16:31
Как должен выглядеть запрос:
Где
- TRA - имя проекта
- 2018-06-01 11:00 - начальная дата и тут же начальное время требуемого интервала
- 2018-06-30 16:31 - конечная дата и тут же финальное время требуемого интервала
Комментариев нет:
Отправка комментария