Отображение проблем Jira с помощью навигатора задач

Ниже приведен простой поисковый запрос Jira JQL:

JqlQueryBuilder builder = JqlQueryBuilder.newBuilder();
builder.where().assignee().in("Dylan").and().unresolved();


Query query = builder.buildQuery();

Тогда у нас есть результаты поиска:

SearchResults results = searchService.search(authenticationContext.getUser(),
            query, PagerFilter.getUnlimitedFilter());


List<Issue> issues = results.getIssues();

Проблема: мне нужно найти проблемы, отфильтровать их по нескольким критериям и показать результаты пользователю с помощью стандартного окна Jira Issue Navigator (я не хочу создавать для него свой собственный шаблон скорости). Я знаю, что можно безопасно связать строку запроса JQL с существующим URL-адресом, который указывает на навигатор проблем. Основная проблема заключается в том, что мне нужно сравнить два поля даты проблемы (срок выполнения и решение), и такое сравнение не может быть выполнено с помощью JQL. Итак, я не могу писать запросы полностью на JQL. Мне приходится смешивать JQL со стандартной Java (для сравнения дат, что совсем не проблема).

Итак, мой ГЛАВНЫЙ ВОПРОС заключается в следующем: у меня есть список проблем List issues = results.getIssues(), можно ли их отобразить с помощью навигатора проблем? И как?


person user2084764    schedule 18.02.2013    source источник


Ответы (1)


Получив List issues, вы можете создать массив строк того же размера и сохранить все ключи проблем в этом результате запроса. Затем вы можете создать фильтр вида:

issueKey in (ABC-1,ABC-2,ABC-3,...)

или через URL:

https://your.jira.com/secure/IssueNavigator!executeAdvanced.jspa?jqlQuery=issuekey+in+%28%22ABC-1%22%2C%22ABC-2%22%29&runQuery=true&clear=true

Сказав это, я не уверен, что вы не сможете найти более легкое решение с использованием JQL-запроса. Чего вы пытаетесь достичь? Базовый JQL дает некоторые возможности поиска по дате:

resolutionDate < "2013/01/01" and duedate < now()

Для получения дополнительной информации ознакомьтесь с расширенным поиском JIRA.

Если стандартного JQL недостаточно, проверьте существующие плагины, такие как JQL Плагин трюков. Другой вариант - создать собственный поиск JQL, отметив Добавление функции JQL в JIRA для получения дополнительной информации об этом решении.

Дайте мне знать, если вам понадобится помощь и удачи!

person Kuf    schedule 19.02.2013
comment
Думаю, я бы написал новую функцию JQL либо в виде плагина, либо с помощью плагина Script Runner. - person mdoar; 19.02.2013
comment
Спасибо, что указали мне правильное направление! Я решил свою проблему, написав новую пользовательскую функцию JQL в качестве плагина, поместив в нее всю необходимую логику Java, а затем вызвав эту новую функцию, например: builder.where (). Issue (). InFunc (myFunctionName); Затем: Query query = builder.buildQuery (); Строка queryString = query.getQueryString (); Затем я добавил эту queryString к существующему URL-адресу, который указывает на навигатор проблем. В моей ситуации этот URL-адрес использовался в функциональности карты изображений плагина построения диаграмм, когда пользователь щелкает какую-либо область на диаграмме и получает соответствующие проблемы. - person user2084764; 23.03.2013