4
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Jiraのプロになる!課題検索のためのクエリ言語「JQL」の使い方

Last updated at Posted at 2020-12-22

この記事について

この記事は、aslead Agileの開発チーム「オキザリス」にて行っているアウトプット企画である「チーム「オキザリス」Advent Calendar」の23日目の記事です。

この記事の立ち位置

本アドベントカレンダーの18日目に、「Confluenceを使いこなそう!便利な機能5選」という記事を書きました。その中でJiraの「JQLを用いたアドバンス検索」機能に少し触れたのですが、この記事ではJQLの使い方に特化してご紹介します。

JQLとは?

"JIRA Query Language"つまり"Jiraクエリ言語"のことです。Jira上で、課題のアドバンス検索を行う際に用います。基本的な文法はSQLに似ています。

JQLの書き方を抑えよう!

よく使うJQLの書き方を、例を交えて紹介します。

複数条件指定

複数の条件をANDORでつなぐことができます。SQLと同じくANDの方がORよりも優先されるため、ORのかかる範囲は()を用いて適切に設定しましょう。
下記は「プロジェクトProject_A内に作成され、ステータスが完了であり、担当者がUser1の課題」を検索するクエリです。

project = Project_A AND status = done AND assignee = User1

1つの条件に複数の値を設定

1つの項目に対し複数の値を指定する場合には、IN (値1, 値2, ...)を用います。例えば下記は、「Project_A、Project_BおよびProject_Cに所属する」課題を検索するクエリです。

project IN (Project_A, Project_B, Project_C)

その他の演算子

JQLでは=INの他にも、IS~などの演算子を使い分ける必要があります。

例えば下記は「説明欄が空(何も書かれていない)」である課題の検索クエリです。EMPTYまたはNULLを検索値とする場合は、ISを用います。

description IS EMPTY

また、下記は「コメント欄に"テスト"という言葉を含む」課題の検索クエリです。

comment ~ テスト

否定条件

=~の否定は!=!~ですが、INISの否定にはNOTを用います。例えば下記クエリのような書き方になります。

project NOT IN (Project_A, Project_B) AND description IS NOT EMPTY AND comment !~ テスト 

日にちに関する指定

JQLでは、現時点を0として相対的に日にちを指定することができます。「直近1週間以内に作成された課題」という指定は、「作成日が-1週間より新しい」と考えて下記のようなクエリで書けます。

created > -1w

また、「今年の初め」を表すstartOfYear()といった関数も用意されています。同様にstartOMonth()startOWeek()startOfDay()、また終わりを表すendOfYear()などもあります。例えば「今年になってから作成された課題」はこのように表します。

created > startOfYear() 

人に関する指定

「自分が担当者の課題」という指定は、assignee = 自分の名前と自分の名前を直接指定することでも実現できますが、JQLに用意されているcurrentUser()という関数を用いて下記のように書くことができます。

assignee = currentUser() 

この関数は「現在のユーザー」を表すので、例えばこの検索条件を公開設定でフィルタ保存しておくと、他の人も「自分が担当者の課題」を検索するクエリとして利用することができます。

また、Jiraのユーザー管理として、ユーザーをグループに紐づけて管理することができます。例えば「Developperというグループに所属する人のいずれかが担当である課題」は下記のように検索できます。

assignee IN membersOf("Developper")

※ここまでいくつかJQLに用意されている関数をご紹介しましたが、詳細はこちらのアトラシアン社サイトをご覧ください!

並べ替え

ORDER BY句を用います。昇順に並べたい場合はASK、降順び並べたい場合はDESCを指定します。

例えば下記は、プロジェクトProject_A内に作成された課題を、作成日が新しい順に表示します。

project = Project_A ORDER BY created DESC

最後に

初めは難しく見えるかもしれませんが、Jiraにはオートコンプリート機能もありますし、慣れてしまえば簡単です。
慣れるためにも、色んなフィルタを作って遊んでみることをお勧めします(特にJiraに関するアトラシアンの資格試験を受験予定の方は、JQLの知識は必須です!)。
JQLをマスターして、Jira名人に近づきましょう!

4
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?