JQLの副問い合わせ エピック>タスク>サブタスクを抽出するフィルタ


こんにちは。
先日、とあるイベントでLTやったら意外とウケたので、こちらの記事にアップすることにしました。

Jiraのフィルタの話です。

サブタスクチケットは便利

突然ですが、サブタスクって、便利ですよね!
スクラムボードだとバックログには現れないけどアクティブフスリンドカンバンボードには親子関係が見えやすく表示されますし。
親チケットの詳細画面からもチケット編集操作ができたり。

サブタスクチケットにはエピックリンクを設定できない問題がある

ただ、どうしても不便なことがあります!
サブタスクにはエピックリンクを設定できないのです!

そんな問題を解消する策の一つを紹介します。

チケット構成の例

JIRAのシステム管理チームでの例

  • 利用チームから要望などを「問い合わせ」チケットで受け取る
  • 対応を考えるためのチーム内タスク管理に「タスク」「QA」「課題」を使う
  • JIRA設定変更などの要望への対応内容を「ストーリー」として提供する
  • ストーリーを実現するための個別タスクを「サブタスク」に分割する
  • これらを「エピック」でまとめる

一部のエピックだけ抽出したい時ってあるけどこれが厄介

サブタスクにはエピックリンクを設定できない問題

フィルタの副問い合わせを活用して解決しよう!

簡単4ステップです。
① エピックを抽出するフィルタを作る
② エピックリンクしてるチケットを抽出する
③ ②のチケットのサブタスクを抽出する
④ 上記①〜③をくっつける

① エピックを抽出するフィルタを作る

filter=10000
Key in (“JIRAPJ-10”,”JIRAPJ-20”)

② エピックリンクしてるチケットを抽出する

filter=10010
issueFunction in linkedIssuesOfAll(“filter=10000” , "is Epic of")

③ ②のチケットのサブタスクを抽出する

filter=10020
issueFunction in subtasksOf("filter=10010")

④ 上記①〜③をくっつける

filter=10030
filter in (“filter=10000”,” filter=10010”, “filter=10020”)

必須プラグイン ScriptRunner for Jira

チケット間の関連を扱うにはこれ!
issuefunction in linkedIssuesOfAll()

今回の記述は、ScriptRunner for JIRA Ver4.3.16 以降で利用可能

おわりに

JQLはまだまだいろんな書き方ができそうですね。