Jira JQL - Показать все дочерние задачи - PullRequest
0 голосов
/ 27 августа 2018

Здравствуйте. Мне нужна помощь с использованием JQL

. Я пытаюсь отобразить все свои задачи на 3-х уровнях Macro-Feature и / или Epic Link, так как моя организация выглядит следующим образом:

- Макро функция

  • Epic Link (= функция) => Epic Link (= подзаголовок) => Задачи
  • или непосредственно Epic Link => Задачи

Я хочу увидеть оба уровня, как я могу достичь этого, пожалуйста?

1 Ответ

0 голосов
/ 27 августа 2018

В чистом Jira Server невозможно перейти по ссылкам, вам придется запрашивать проблемы, назначенные эпопее, брать их ключи или идентификаторы и создавать комбинированный запрос.Допустим, у вас есть эпопея верхнего уровня под названием TOP-1 и TOP-2, вам нужно будет выполнить запрос:

issue in linkedIssues("TOP-1", "is task of") and issuetype = Epic

возьмите возвращенные ключи для выдачи, повторите для TOP-2, это даст вамэпосов второго уровня, скажем, SUB-1 и SUB-2, тогда вам нужно выполнить запрос вроде:

"Epic Link" in (TOP-1, TOP-2) or "Epic Link" in (SUB-1, SUB-2)

, это даст вам вопросы, назначенные этим эпикам, без подзадач.Довольно громоздкий и требует ручного обновления, определенно не стоит этого делать.

В качестве альтернативы можно получить плагин, расширяющий функциональность JQL, например JQL Search Extensions .Затем вы можете вложить JQL-запросы, например:

issue in allIssuesInEpic("TOP-1", "TOP2") or (issue in allIssuesInEpic(issue in linkedBy("TOP-1", "TOP-2", "is task of")))

Где первая часть запроса issue in allIssuesInEpic("TOP-1", "TOP2") возвращает проблемы, непосредственно связанные с эпосами TOP-1 или TOP-2, а вторая часть issue in allIssuesInEpic(issue in linkedBy("TOP-1", "TOP-2", "is task of"))находит эпосы, связанные как «есть задача» с эпиками высшего уровня, а затем находит все проблемы с подзадачами, назначенными этим эпикам второго уровня.Вам нужно будет расширить запрос для каждого уровня вложенности, со структурой, которую вы описали, вышеупомянутый запрос будет делать то, что вам нужно.Однако, если вы добавите третий уровень вложенности, вам придется расширить запрос следующим образом:

issue in allIssuesInEpic("TOP-1", "TOP2") or (issue in allIssuesInEpic(issue in linkedBy("key in (TOP-1, TOP2) or issue in linkedBy("TOP-1", "TOP-2", "is task of")", "is task of")))

Вы можете сделать его более читабельным, создав фильтры для каждого уровня вложенности, например, создатьФильтр с именем Features:

key in (TOP-1, TOP-2)

, затем создайте фильтр с именем sub-feature:

issue in linkedBy("filter = Features", "is task of")

, затем создайте окончательный запрос, например:

issue in allIssuesInEpic("filter = \"Features\" or filter = \"sub-features\"")
...