Как запросить эпос со всеми закрытыми Jira's? - PullRequest
0 голосов
/ 19 марта 2019

Используя JQL и Adaptavist ScriptRunner , как мне написать запрос, который возвращает - для моего проекта "ABC" - эпопеи, которые только закрыли связанное с Джирой?

1 Ответ

1 голос
/ 19 марта 2019

Введение

Давайте построим этот запрос, используя теорию множеств. Первая часть создаст запрос, который возвращает все, что нам не нужно. Часть вторая создаст запрос всего. Наконец, мы скомбинируем эти два, чтобы вернуть то, что мы хотим. На первую часть! ...

Часть первая: «Проектные эпосы с участием Джиры»

Во-первых, давайте вернем Jira's, которые связаны с эпосом ABC:

issueFunction in issuesInEpics("project = ABC")

Расширяя этот запрос, мы ставим префикс с предложением, которое возвратит эпос. То есть эпопеи Джиры, связанные с эпопеей ABC:

issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\")")

Пока что мы не запрашиваем статус. Однако напомним, что мы хотим только эпопеи со всеми закрытыми джирами. Следующий пункт может показаться нелогичным, потому что здесь мы добавим statusCategory проверку для Джиры, которая еще не сделана:

issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\") and statusCategory != Done")

Итак, вышесказанное говорит, пожалуйста, дайте мне эпосы, связанные с Джирой, которые еще предстоит сделать. Это для Джиры, с которой связан эпический проект ABC.

Давайте пока оставим этот запрос и начнем новый.

Часть вторая: Открытый проект Эпос с ассоциированным Джирой

Тот же запрос, что и выше. Все Jira, которые имеют эпический ABC:

issueFunction in issuesInEpics("project = ABC")

и снова, как указано выше:

issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\")")

Теперь немного вариаций. Нам нет дела до закрытых эпопей. Этот пункт относится конкретно к эпосам, , а не к связанным с Джира ...

statusCategory != Done AND issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\")")

Объединение первой и второй части

Отлично! Теперь у нас есть список открытых эпосов ABC, связанных с Jira. Давайте объединим оба, чтобы дать нам разницу между первой частью и второй частью. То есть открытые эпопеи ABC, которые не входят в набор эпопей ABC с открытой Jira, связанной:

statusCategory != Done AND issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\")") AND NOT issueFunction in epicsOf("issueFunction in issuesInEpics(\"project = ABC\") and statusCategory != Done")

Открывая некоторые из возвратившихся эпопей, можно увидеть, что они открыты, но все связанные с ними Джиры закрыты. Проблема решена!

Обратите внимание, что это можно сделать более аккуратным с помощью вспомогательных фильтров. Для получения дополнительной информации, ознакомьтесь с примерами по ссылке ScriptRunner .

...