【Jira】リンク済み課題の進捗を一覧で追いたい時の検索方法

【Jira】リンク済み課題の進捗を一覧で追いたい時の検索方法
🛡️ 超解決

Jiraで複数の課題がリンク(親子、ブロック、関連など)されている場合、それぞれの進捗を一覧で把握したい場面は多いです。しかし、標準の課題一覧画面ではリンク関係がツリー表示されず、個別に開いて確認する手間が発生します。この記事では、リンク済み課題の進捗をまとめて追跡するための検索方法を、JQL(Jira Query Language)の活用を中心に解説します。初心者でも設定できる手順から、管理者に確認すべきポイントまで網羅します。

【要点】この記事で確認すること

  • 最初に見る場所: Jiraの「課題検索」画面とJQLクエリ。リンク種別を指定して親子や依存関係を抽出します。
  • 切り分けの軸: リンクの方向(is blocked by / blocks)、リンクタイプの定義、プロジェクト権限。自分に表示されない原因は権限かクエリミスです。
  • 注意点: リンクタイプはプロジェクト設定でカスタマイズ可能なため、所属組織の定義を確認してください。また、大量のリンクがある場合はパフォーマンスに影響します。

ADVERTISEMENT

1. リンク済み課題を検索する基本的なJQLの書き方

Jiraの課題検索では、JQLを使ってリンク関係にある課題を抽出できます。最もよく使われるのは「issueLinkType」を指定する方法です。例えば、特定の課題KEY(PROJ-123)にリンクされたすべての課題を検索するには、次のように入力します。

issue in linkedIssues('PROJ-123')

このクエリは、PROJ-123からリンクされたすべての課題を返します(リンクの方向は問いません)。リンクの方向を指定したい場合は、linkedIssuesの第二引数にリンクタイプ名を渡します。例:

issue in linkedIssues('PROJ-123', 'blocks')

これでPROJ-123をブロックしている課題、またはPROJ-123にブロックされている課題が取得されます。ただし、リンクタイプ名は英語(blocks, is blocked by, relates to, duplicates, is duplicated by, clones, is cloned by)が標準ですが、組織によってカスタマイズされている可能性があるので注意が必要です。

1-1. リンクタイプ名の確認方法

リンクタイプ名がわからない場合は、管理者に確認するか、プロジェクト設定画面で確認します。プロジェクト管理者は「プロジェクト設定」→「課題タイプ」→「リンクタイプ」で一覧を表示できます。一般ユーザーでも、既存のリンクが貼られた課題を開き、リンクのラベルを確認することで推測できます。例えば「ブロック」と表示されていれば、リンクタイプ名はおそらく「blocks」です。

1-2. リンク種別を複数指定する方法

複数のリンクタイプを同時に検索したい場合は、OR演算子を使います。例:

issue in linkedIssues('PROJ-123', 'blocks') OR issue in linkedIssues('PROJ-123', 'relates to')

これで指定した両方のリンクタイプの課題が一覧に表示されます。ただし、リンク数が多いとクエリが重くなる可能性があるため、フィルターに保存して使い回すと効率的です。

2. 親子関係(エピック・ストーリー)の進捗を一覧で追う

スクラムやカンバンでは、エピックに複数のストーリーやタスクがぶら下がる親子構造が一般的です。Jiraでは「parent」関数を使って親課題を特定できます。例えば、「エピックKEY = EPIC-1」に含まれるすべての子課題を検索するには:

parent = EPIC-1

親課題のステータスが「In Progress」などに変わるタイミングはワークフローに依存しますが、子課題の進捗を一覧で確認するには、このクエリで十分です。子課題のステータスを集計したい場合は、Jiraの「ダッシュボード」にガジェット「フィルター結果の統計」を追加し、親課題のエピックを指定したフィルターの統計を表示する方法もあります。

2-1. エピック以外の親子関係にも対応

Jiraでは課題タイプ間の親子関係を自由に設定できます(例:プロジェクトに「機能」の親子関係がある場合)。その場合は「parent」ではなく「issue in parentIssuesOf()」や「issue in childIssuesOf()」を使います。例:

issue in childIssuesOf('PROJ-456')

この関数は、直接の子課題だけでなく、孫課題もすべて再帰的に取得します。進捗を階層ごとに見たい場合は、複数回のクエリやスクリプトが必要になる場合がありますが、通常は子課題の一覧で十分です。

3. リンクの方向と進捗の関係を可視化するテーブル例

リンクの方向によって、進捗の追い方に違いが出ます。以下の表に代表的なパターンをまとめました。

リンクタイプ 方向 進捗の意味 推奨JQL
blocks A blocks B Aの完了がBの前提条件 issue in linkedIssues(‘A’, ‘is blocked by’)
relates to 双方向 関連はあるが依存性は不明 issue in linkedIssues(‘A’, ‘relates to’)
duplicates / is duplicated by 重複関係 進捗は重複元に集約 issue in linkedIssues(‘A’, ‘duplicates’) など

この表を参考に、自分が追いたいリンク関係に合ったJQLを選んでください。例えば「ブロック」関係では、ブロックされている側(is blocked by)の課題を検索することで、どの課題が待ち状態かを把握できます。

4. フィルター保存とダッシュボードでの活用手順

JQLを使いこなすには、フィルターに保存してダッシュボードやボードに表示するのが実践的です。以下に手順を示します。

  1. Jiraの画面右上の「課題」→「検索」を開きます。
  2. 「詳細」モードに切り替え、JQL入力欄にクエリを入力します(例: parent = EPIC-1)。
  3. 「検索」ボタンを押して結果を確認します。
  4. 画面左上の「フィルターとして保存」をクリックし、わかりやすい名前を付けます(例: 「EPIC-1 子課題一覧」)。
  5. ダッシュボードを作成(または既存のダッシュボードを開き)「ガジェットを追加」→「フィルター結果」を選択します。
  6. 保存したフィルターを選択し、表示する列(ステータス、担当者、期限など)を設定します。
  7. ガジェットの設定を保存し、ダッシュボードで進捗を一覧表示します。

この手順により、リンクされた課題の進捗が常に更新された状態で確認できます。担当者や期限も合わせて表示できるので、タスクの遅れを早期に発見できます。

4-1. リンク課題の進捗をより詳細に追いたい場合

JQLだけでは子課題の進捗率などは表示されません。その場合は、Jiraの「高度なロードマップ」機能や「BigPicture」などのアドオンを利用する方法もあります。しかし、無料の範囲では、フィルター結果のガジェットに「集計」機能(例: ステータス別の件数)を追加すると、進捗の大まかな傾向をつかめます。

5. 失敗パターンと対処法

リンク課題検索でよくある失敗をいくつか紹介します。

5-1. リンクが表示されない

JQLで検索しても結果が空の場合、以下の原因が考えられます。

  • リンクタイプ名の誤り: カスタムリンクタイプを利用している場合、標準の名前(blocksなど)ではヒットしません。管理者に正確な名称を確認してください。
  • 権限不足: リンク元またはリンク先の課題にアクセス権がない場合、結果から除外されます。プロジェクトの参照権限を確認するか、管理者に権限付与を依頼してください。
  • リンクの方向を間違えている: linkedIssues()関数は第2引数で方向を指定しますが、逆方向を指定していると空になる場合があります。例えば「blocks」と「is blocked by」を間違えないように注意しましょう。

5-2. 検索結果が多すぎてパフォーマンスが低下する

親子関係を再帰的に取得するchildIssuesOf()などは、階層が深いと大量の課題を返すことがあります。その場合は、プロジェクトや課題タイプを絞り込む条件(project = XXX AND issuetype = Sub-task)を追加して結果を絞ってください。

5-3. ダッシュボードガジェットが正しく表示されない

保存したフィルターをガジェットに設定しても項目が表示されない場合、ガジェットの「列」設定で適切なフィールドが選択されていない可能性があります。また、フィルター自体が「共有」設定になっていないと、他のユーザーがダッシュボードを見たときに表示されません。フィルターの共有設定を確認し、必要に応じて「すべてのユーザー」または特定のグループに公開してください。

6. 管理者へ確認すべき情報

  • カスタムリンクタイプの一覧: JQLで正確なタイプ名が必要です。管理者に「プロジェクト設定」→「リンクタイプ」の画面を見せてもらうか、CSVでエクスポートしてもらいましょう。
  • リンクに対する権限設定: プロジェクトによっては「リンクを表示できる」権限が制限されている場合があります。自分のアカウントでリンクが見えるかどうか、管理者に確認してください。
  • 高度なフィルター機能の有効化: ダッシュボードのガジェットやフィルター共有が制限されている場合、管理者に機能の有効化を依頼します。

7. よくある質問(FAQ)

Q1: 親課題の進捗を自動的に子課題の進捗から計算できますか?

標準機能では自動計算されません。Jiraの「自動化」ルールを使って、子課題のステータスがすべて完了したら親課題を完了にするといった設定は可能です。ただし、進捗率の計算はスクリプトやアドオンが必要です。

Q2: リンクされた課題の一覧をExcelにエクスポートしたい

検索結果画面の「エクスポート」→「CSV(すべてのフィールド)」でダウンロードできますが、リンク情報は含まれません。リンク関係も含めたい場合は、「課題リンク」フィールドを列に追加してからエクスポートする必要があります(画面の「列」設定で「リンク」を追加してください)。

Q3: 特定のリンクタイプだけを除外して検索したい

NOT演算子が使えます。例:issue in linkedIssues('PROJ-123') AND issue not in linkedIssues('PROJ-123', 'relates to') とすることで、relates to以外のリンクを抽出できます。

まとめ

リンク済み課題の進捗を一覧で追うには、JQLのlinkedIssues関数やparent関数を活用したフィルターが有効です。リンクタイプ名の正確な把握と権限設定の確認が重要で、ダッシュボードにガジェットを配置すればチーム全体で進捗を共有できます。失敗パターンとして、タイプ名の誤りや権限不足が挙げられるため、事前に管理者にカスタム設定を確認しておきましょう。また、高度な集計が必要な場合はアドオンの検討も選択肢になります。この記事を参考に、自分に合った検索方法を見つけてください。


この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。