こんにちは。現場の最前線でアジャイルコーチとしてチームの生産性と向き合っている、シニアエンジニアです。
Jiraを導入したばかりのチーム、あるいは使いこなそうと奮闘している皆さん。「チケットが多すぎて、本当に今見るべき課題が埋もれてしまっている」と感じたことはありませんか?
情報のサイロ化(孤立化)を防ぎ、チームのベロシティ(開発速度)を劇的に高めるために避けては通れない技術。それがJQL(Jira Query Language)です。
JQLは単なる「検索機能」ではありません。プロジェクトの健康状態をリアルタイムに可視化し、ボトルネックを突き止めるための「魔法の杖」です。今日は、マニュアルを読んだだけでは辿り着けない、現場で震えるほど役立つJQLの極意を、優しく丁寧に伝授します。
—
1. なぜ「JQL」をマスターする必要があるのか?
多くの人は、Jiraの画面上部にある検索窓に単語を打ち込むだけで満足してしまいます。しかし、それだけでは「情報の洪水」に飲み込まれるだけです。
プロフェッショナルなエンジニアやプロダクトオーナーは、JQLを使って以下を実現します。
- ノイズの除去: 自分に関係のないチケットを徹底的に排除する。
- リスクの早期発見: 「期限が近いのに着手されていない」課題を自動で炙り出す。
- データの資産化: ダッシュボードに検索結果を反映させ、チームの進捗を一目で把握できるようにする。
これさえ覚えれば、もう「あのチケットどこだっけ?」と探し回る無駄な時間はゼロになります。
—
2. JQLの基本構造:文章を作るように書く
JQLは非常に論理的です。基本は「フィールド」「演算子」「値」の3つの要素で構成されます。
> [フィールド] [演算子] [値]
> 例: `assignee = currentUser()`
> (担当者が = 今ログインしている自分)
これに、複数の条件をつなぐ「キーワード」(ANDやORなど)を組み合わせるだけです。
—
3. 【Hello World】今日から使える鉄板JQL集
まずは、コピー&ペーストして検索窓(「課題」メニュー > 「課題の検索」 > 「JQLに切り替え」)に貼り付けてみてください。ここから全てが始まります。
① 「自分が今、集中すべき課題」を探す
まずはここから。自分が担当しており、かつ完了していない課題を優先度の高い順に並べます。
/
担当者が自分で、ステータスが「完了」以外。
さらに優先度の高い順に並べ替える
/
assignee = currentUser() AND statusCategory != Done ORDER BY priority DESC
② 「期限が迫っている未着手」の課題を炙り出す
リスク管理の基本です。あと3日以内に期限が来るのに、まだ手がついていない課題を見つけます。
/
期限が3日以内(3d)で、ステータスが「To Do」のもの
/
duedate <= 3d AND status = "To Do"
③ 「最近動いたプロジェクトの熱量」を感じる
過去24時間以内に更新された課題をチェックします。情報のサイロ化を防ぐには、他人の動きを知ることが不可欠です。
/
過去24時間以内(-24h)に更新された課題をすべて表示
/
updated > -24h ORDER BY updated DESC
—
4. 現場で震えるほど役立つ「高度な検索術」
ここからは、アジャイルコーチが実際に現場のダッシュボードで使用している、一歩踏み込んだテクニックを紹介します。
A. チームメンバーの動きを特定する
特定のチーム(グループ)に属するメンバーの課題をまとめて見たい場合に重宝します。
/
‘Frontend-Team’グループに所属する誰かが担当している課題
/
assignee in membersOf(“Frontend-Team”) AND sprint in openSprints()
B. 「放置されている課題」に光を当てる
「進行中」のまま、3日間更新がない課題。これは何らかのトラブルで止まっているサインです。
/
ステータスが「進行中」だが、3日間更新されていない
/
status = “In Progress” AND updated < -3d
C. 特定の文言が含まれる「バグ」を探す
曖昧な記憶を頼りに検索する場合、`~`(含む)演算子が威力を発揮します。
/
サマリー(タイトル)や説明文に “ログイン” という言葉が含まれるバグ
/
issuetype = Bug AND text ~ “ログイン”
—
5. 検索結果を「チームの武器」に変える設定
JQLを書けるようになったら、それを「自分だけの検索」で終わらせてはいけません。
1. フィルターの保存:
検索窓の横にある「保存」ボタンを押し、「期限切れ間近の課題」などの名前をつけて保存しましょう。
2. ダッシュボードへの配置:
Jiraダッシュボードを作成し、「フィルター結果」ガジェットを追加します。そこに保存したJQLフィルターを設定してください。
- これで、朝一番にダッシュボードを見るだけで、チームが今どこで躓いているかが「見える化」されます。
—
6. 先輩エンジニアからのアドバイス:JQLは「対話」である
JQLを使いこなすようになると、Jiraが単なる「管理ツール」から「優秀な秘書」へと変わります。
最初は難しく感じるかもしれませんが、まずは `assignee = currentUser()` から始めてみてください。そして、日々の業務で「もっとこういう情報が欲しいな」と思った瞬間に、JQLのキーワードを一つずつ足していくのです。
「情報の海を泳ぐのではなく、JQLという潜水艦に乗って目的の場所に直行する。」
この感覚を掴んだとき、あなたのエンジニアとしての生産性は、周囲が驚くほどに跳ね上がっているはずです。
もし特定の検索式で迷ったら、いつでも相談に乗りますよ。さあ、まずは気になるプロジェクトの課題を、自分の手で検索してみることから始めましょう!
—
執筆:アジャイルコーチ 兼 ナレッジマネージャー