JQL 演算子

アトラシアンは Jira 用語の更新を行っており、「課題」から「作業項目」へ、「プロジェクト」から「スペース」へと移行しています。

現在、こうした変更をロールアウトしているため、新しい用語を使用する一部の JQL エントリがまだ機能しない場合があります。この問題が発生した場合は、代わりに古い用語の利用をお試しください。

既存の JQL クエリに変更はありません。

このページでは、高度な検索で使用される演算子の情報について説明します。

JQL の演算子は 1 つ以上の記号または単語から構成されており、その左のフィールドの値と右側の 1 つ以上の値 (または関数) を比較し、句によって TRUE の結果のみを取得します。一部の演算子では NOT キーワードを利用できます。

指定した値と等しい (=)

"=" 演算子は、指定したフィールドの値が指定した値と完全一致する作業項目の検索に使用します (注: テキスト フィールドに使用することはできません。代わりに CONTAINS 演算子を参照してください)。

指定したフィールドの値が複数の値と完全に一致する作業項目を検索するには、複数の "=" ステートメントと AND 演算子を使用します。

  • John Smith が作成した作業項目を検索:

    reporter = "John Smith"
  • Atlassian アカウント ID が abcde-12345-fedcba: である John Smith が作成したすべての作業項目を検索:

    reporter = "abcde-12345-fedcba"

指定した値と等しくない (!=)

指定したフィールドの値が指定した値と一致しない作業項目を検索するには、「!=」演算子を使用します (注: テキスト フィールドに使用することはできません。代わりに DOES NOT MATCH (「!~」) 演算子をご確認ください)。

field != value と NOT field = value は同じであることにご注意ください。また、field != EMPTY と field IS_NOT EMPTY も同じです。

"!=" 演算子は、値を持たないフィールド (空のフィールド) は照合しません。たとえば、component != fred は、コンポーネントを持ち、かつ、コンポーネントが "fred" ではない作業項目のみを照合します。"fred" 以外のコンポーネントを持つ作業項目とコンポーネントを持たない作業項目を検索するには、component != fred or component is empty と入力する必要があります。

  • John Smith 以外のユーザーの Atlassian アカウント ID を持つユーザーに割り当てられたすべての作業項目を検索:

    not assignee = abcde-12345-fedcba

    または

    assignee != abcde-12345-fedcba
  • John Smith の Atlassian アカウント ID に割り当てられていないすべての作業項目を検索

    assignee != abcde-12345-fedcba or assignee is empty
  • 自分以外が報告した、自分に割り当てられていないすべての作業項目を検索:

    reporter = currentUser() and assignee != currentUser()
  • 報告者または担当者が John Smith 以外のすべての作業項目を検索します。

    assignee != "John Smith" or reporter != "John Smith"
  • 報告者または担当者が John Smith 以外のすべてのユーザーであるすべての作業項目を検索:

    assignee != "John Smith" or reporter != "John Smith"
  • 未割り当てのすべての作業項目を検索:

    assignee is not empty

    または

    assignee != null

指定した値より大きい (>)

">" 演算子は、指定したフィールドの値が指定した値よりも大きい作業項目の検索に使用します。

">" 演算子は順序をサポートしているフィールド (日付フィールド、バージョン フィールドなど) でのみ使用でき、テキスト フィールドでは使用できないことにご注意ください。フィールドでサポートされる演算子については、個々のフィールドのリファレンスを確認してください。

  • 投票数が 4 票より多いすべての作業項目を検索:

    votes > 4
  • 期限切れのすべての作業項目を検索:

    duedate < now() and resolution is empty
  • 優先度が「Normal」より高いすべての作業項目を検索:

    priority > normal

指定した値以上 (>=)

">=" 演算子は、指定したフィールドの値が指定した値以上である作業項目の検索に使用します。

">=" 演算子は順序をサポートしているフィールド (日付フィールド、バージョン フィールドなど) でのみ使用でき、テキスト フィールドでは使用できないことにご注意ください。フィールドでサポートされる演算子については、個々のフィールドのリファレンスを確認してください。

  • 投票数が 4 票以上のすべての作業項目を検索:

    votes >= 4
  • 期限が 2018 年 12 月 31 日以降のすべての作業項目を検索:

    duedate >= "2008/12/31"
  • 過去 5 日間で作成されたすべての作業項目を検索:

    created >= "-5d"

指定した値より小さい (<)

<」演算子は、指定したフィールドの値が指定した値よりも小さい作業項目の検索に使用します。

"<" 演算子は順序をサポートしているフィールド (日付フィールド、バージョン フィールドなど) でのみ使用でき、テキスト フィールドで使用できないことにご注意ください。フィールドでサポートされる演算子については、個々のフィールドのリファレンスを確認してください。

  • 投票数が 4 票より少ないすべての作業項目を検索:

    votes < 4

指定した値以下 (<=)

"<=" 演算子は、指定したフィールドの値が指定値以下である作業項目の検索に使用します。

"<=" 演算子は順序をサポートしているフィールド (日付フィールド、バージョン フィールドなど) でのみ使用でき、テキスト フィールドで使用できないことにご注意ください。フィールドでサポートされる演算子については、個々のフィールドのリファレンスを確認してください。

  • 投票数が 4 票以下のすべての作業項目を検索:

    votes <= 4
  • 過去 1 ヶ月間 (30 日間) で更新されていないすべての作業項目を検索:

    updated <= "-4w 2d"

IN

"IN" 演算子は、指定したフィールドの値が対象となる複数の値のいずれかである作業項目を検索するために使用します。値は、括弧で囲んだカンマ区切りのリスト形式で指定します。

"IN" は、複数の EQUALS (=) ステートメントを使用した場合と同じ結果を返しますが、より短く、便利です。つまり、reporter IN (tom, jane, harry) と reporter = "tom" OR reporter = "jane" OR reporter = "harry" は同じです。

  • jsmith、jbrown、jjones のいずれかが作成したすべての作業項目を検索:

    reporter in (jsmith,jbrown,jjones)
  • abcde-12345-fedcba、fedcb-12345-edcba または cdefb-67895-cbaed をそれぞれ Atlassian アカウントとして持つ、John Smith、Jim Brown、または Jared Jones によって作成されたすべての作業項目を検索:

    reporter in (abcde-12345-fedcba,fedcb-12345-edcba,cdefb-67895-cbaed)
  • 報告者または担当者が Jack または Jill であるすべての作業項目を検索:

    reporter in (Jack,Jill) or assignee in (Jack,Jill)
  • Atlassian アカウント ID がそれぞれ abcde-12345-fedcba および cdefb-67895-cbaed である Jack または Jill が報告者または担当者であるすべての作業項目を検索:

    reporter in (abcde-12345-fedcba,cdefb-67895-cbaed) or assignee in (abcde-12345-fedcba,cdefb-67895-cbaed)
  • バージョン 3.14 またはバージョン 4.2 のすべての作業項目を検索:

    affectedVersion in ("3.14", "4.2")

NOT IN

NOT IN」演算子は、指定したフィールドの値が対象となる複数の値のいずれかである作業項目を検索するために使用します。

"NOT IN" は、複数の NOT_EQUALS (!=) ステートメントを使用した場合と同じ結果を返しますが、より短く、便利です。つまり、reporter NOT IN (tom, jane, harry) と reporter != "tom" AND reporter != "jane" AND reporter != "harry" は同じです。

"NOT IN" 演算子は、値を持たないフィールド (空のフィールド) を照合しません。例えば、assignee not in (jack,jill) は、担当者を持っており、さらに担当者が "jack" または "jill" ではない作業項目のみを照合します。"jack" または "jill" 以外に割り当てられた作業項目、または未割り当ての作業項目を検索するには、assignee not in (jack,jill) or assignee is empty と入力する必要があります。

  • Jack、Jill、または John 以外の担当者を持つすべての作業項目を検索:

    assignee not in (Jack,Jill,John)
  • Atlassian アカウント ID がそれぞれ abcde-12345-fedcba、fedcb-12345-edcba、cdefb-67895-cbaed である Jack、Jill、John 以外のユーザーが担当者であるすべての作業項目を検索:

    assignee not in (abcde-12345-fedcba,fedcb-12345-edcba,cdefb-67895-cbaed)
  • 担当者が Jack、Jill、または John でははないすべての作業項目を検索:

    assignee not in (Jack,Jill,John) or assignee is empty
  • Atlassian アカウント ID がそれぞれ abcde-12345-fedcba、fedcb-12345-edcba、cdefb-67895-cbaed である Jack、Jill、John 以外のユーザーが担当者であるすべての作業項目を検索:

    assignee not in (abcde-12345-fedcba,fedcb-12345-edcba,cdefb-67895-cbaed) or assignee is empty
  • 「A」、「B」、「C」、または「D」以外の修正バージョンを持つすべての作業項目を検索:

    FixVersion not in (A, B, C, D)
  • 修正バージョンが「A」、「B」、「C」、または「D」ではない、または修正バージョンが指定されていないすべての作業項目を検索:

    FixVersion not in (A, B, C, D) or FixVersion is empty

指定した値を含む (~)

"~" 演算子は、指定したフィールドの値が指定した値と一致する作業項目の検索に使用します (完全一致またはあいまい一致。以降の例を参照)。テキスト フィールドでの使用例:

  • 要約

  • 説明

  • 環境

  • コメント

  • "フリー テキスト検索" を使用するカスタムフィールド。これには、次の組み込みカスタムフィールド タイプのカスタム フィールドが含まれます。

    • フリー テキスト フィールド (無制限のテキスト)

    • テキスト フィールド (255 文字まで)

    • 読み取り専用テキスト フィールド

さらに、作業項目キーでも使用できます。

JQL フィールド「text」(例: text ~ "some words") は、作業項目の要約、説明、環境、コメントを検索します。また、すべてのテキスト カスタム フィールドも検索します。テキスト カスタム フィールドが多数ある場合は、特定のフィールドを検索することで、クエリのパフォーマンスを改善できます。例: 
Summary ~ "some words" OR Description ~ "some words"

注意: "~" 演算子を使用する場合、演算子の右側の値は Jira テキスト検索構文を使用して指定できます。

  • 要約に "win" の単語 (または "wins" などの指定した語を含む単語) を含むすべての作業項目を検索:

    summary ~ win
  • スペース キーが「WIN」で終わり、作業項目番号が「1」で始まるすべての作業項目を検索:

    issueKey ~ "*WIN-1*"
  • 要約に "win" の単語のワイルドカード一致を含むすべての作業項目を検索:

    summary ~ "win*"
  • 要約に "work items" および "collector" の単語を含むすべての作業項目を検索:

    summary ~ "workItem collector"
  • "full screen" との完全一致が要約に含まれるすべての作業項目を検索 (引用符やその他の特殊文字のエスケープ方法についての詳細は、テキスト フィールドの構文を検索するを参照してください):

    summary ~ "\"full screen\""

指定した値を含まない (!~)

"!~" 演算子は、指定したフィールドの値が指定した値のあいまい一致に該当しない作業項目の検索に使用します。テキスト フィールドでの使用例:

  • 要約

  • 説明

  • 環境

  • コメント*

  • "フリー テキスト検索" を使用するカスタムフィールド。これには、次の組み込みカスタムフィールド タイプのカスタム フィールドが含まれます。

    • フリー テキスト フィールド (無制限のテキスト)

    • テキスト フィールド (255 文字まで)

    • 読み取り専用テキスト フィールド

さらに、作業項目キーでも使用できます。

* 作業項目に 2 つ以上のコメントが含まれる場合、検索にはすべてのコメントが含まれるため、この演算子は失敗します。

JQL フィールド「text」(例: text ~ "some words") は、作業項目の要約、説明、環境、コメントを検索します。また、すべてのテキスト カスタム フィールドも検索します。テキスト カスタム フィールドが多数ある場合は、特定のフィールドを検索することで、クエリのパフォーマンスを改善できます。例: 
Summary ~ "some words" OR Description ~ "some words"

注意: "!~" 演算子を使用する場合、演算子の右側の値は Jira テキスト検索構文を使用して指定できます。

  • 要約に "run" という単語 (または "running" などの指定した語を含む単語) を含まないすべての作業項目を検索:

    summary !~ run
  • 作業項目キーの先頭が「12」でないすべての作業項目を検索:

    issueKey !~ "-12*"

IS

"IS" 演算子は EMPTY または NULL とのみ一緒に使用できます。つまり、指定したフィールドに値がない作業項目の検索に使用されます。

この演算子との互換性を持たないフィールドがあることにご注意ください。詳細については個々のフィールド リファレンスをご参照ください。

  • 修正バージョンを持たないすべての作業項目を検索:

    fixVersion is empty

    または

    fixVersion is null

IS NOT

"IS NOT" 演算子は EMPTY または NULL とのみ一緒に使用できます。つまり、指定したフィールドに値を持つ作業項目の検索に使用されます。

この演算子との互換性を持たないフィールドがあることにご注意ください。詳細については個々のフィールド リファレンスをご参照ください。

  • 投票数が 1 つ以上のすべての作業項目を検索:

    votes is not empty

    または

    votes is not null

WAS

"WAS" 演算子は、指定したフィールドに指定した値が存在するか、過去に存在した作業項目の検索に使用します。

この演算子では次の述部を使用できます:

  • AFTER "date"

  • BEFORE "date"

  • BY "username" または BY (username1,username2)

  • DURING ("date1","date2")

  • ON "date"

この演算子は、フィールドの変更時に システムで設定された値の名前 ("解決済み" など) を照合します 。また、この演算子はその値の名前に関連付けられた値 ID も照合します。つまり、"解決済み" と同時に "4" を照合します。

[担当者]、[修正バージョン]、[優先度]、[報告者]、[解決状況]、[ステータス] の各フィールドでのみこの演算子を使用できます。

  • 現在または過去のステータスが "進行中" である作業項目を検索:

    status WAS "In Progress"
  • Joe Smith が 2 月 2 日より前に解決した作業項目を検索:

    status WAS "Resolved" BY jsmith BEFORE "2019/02/02"
  • Atlassian アカウント ID が abcde-12345-fedcba である Joe Smith によって 2 月 2 日よりも前に解決された作業項目を検索:

    status WAS "Resolved" BY abcde-12345-fedcba BEFORE "2019/02/02"
  • Joe Smith が 2010 年に解決した作業項目を検索:

    status WAS "Resolved" BY jsmith DURING ("2010/01/01","2011/01/01")
  • Atlassian アカウント ID が abcde-12345-fedcba である Joe Smith によって 2010 年中に解決された作業項目を検索:

    status WAS "Resolved" BY abcde-12345-fedcba DURING ("2010/01/01","2011/01/01")
  • Joe Smith または Sam Rogen が 2019 年に解決した作業項目を検索:

    status WAS "Resolved" BY (jsmith,srogen) DURING ("2019/01/01","2020/01/01")

WAS IN

"WAS IN" 演算子は、指定したフィールドに指定した複数の値のいずれかが存在するか、過去に存在した作業項目を検索するために使用します。値は、括弧で囲んだカンマ区切りのリスト形式で指定します。

"WAS IN" は、複数の WAS ステートメントを使用した場合と同じ結果を返しますが、より短く、便利です。つまり、status WAS IN ('Resolved', 'Closed') と status WAS "Resolved" OR status WAS "Closed" は同じです。

この演算子では次の述部を使用できます:

  • AFTER "date"

  • BEFORE "date"

  • BY "username"

  • DURING ("date1","date2")

  • ON "date"

この演算子は、フィールドの変更時に システムで設定された値の名前 ("解決済み" など) を照合します 。また、この演算子はその値の名前に関連付けられた値 ID も照合します。つまり、"解決済み" と同時に "4" を照合します。

注: [担当者]、[修正バージョン]、[優先度]、[報告者]、[解決状況]、[ステータス] の各フィールドでのみこの演算子を使用できます。

  • 現在または過去に "解決済み" または '進行中' のステータスが存在したすべての作業項目を検索:

    status WAS IN ("Resolved","In Progress")

WAS NOT IN

"WAS NOT IN" 演算子は、指定したフィールドの値が複数の指定した値のいずれにも一度も該当していない作業項目を検索するために使用されます。

"WAS NOT IN" は、複数の WAS_NOT ステートメントを使用した場合と同じ結果を返しますが、より短く、便利です。つまり、status WAS NOT IN ("Resolved","In Progress") と status WAS NOT "Resolved" AND status WAS NOT "In Progress" は同じです。

この演算子では次の述部を使用できます:

  • AFTER "date"

  • BEFORE "date"

  • BY "username"

  • DURING ("date1","date2")

  • ON "date"

この演算子は、フィールドの変更時に システムで設定された値の名前 ("解決済み" など) を照合します 。また、この演算子はその値の名前と関連付けられた値 ID とも照合します。つまり、"解決済み" と同時に "4" を照合します。

注: [担当者]、[修正バージョン]、[優先度]、[報告者]、[解決状況]、[ステータス] の各フィールドでのみこの演算子を使用できます。

  • ステータスが "解決済み" または "'進行中'" に一度もなったことのない作業項目を検索:

    status WAS NOT IN ("Resolved","In Progress")
  • 2 月 2 日より前に "解決済み" または '進行中' ステータスにならなかった作業項目を検索:

    status WAS NOT IN ("Resolved","In Progress") BEFORE "2011/02/02"

WAS NOT

"WAS NOT" 演算子は、指定したフィールドの値が指定した値に一度も該当していない作業項目の検索に使用します。

この演算子では次の述部を使用できます:

  • AFTER "date"

  • BEFORE "date"

  • BY "username"

  • DURING ("date1","date2")

  • ON "date"

この演算子は、フィールドの変更時に システムで設定された値の名前 ("解決済み" など) を照合します 。また、この演算子はその値の名前に関連付けられた値 ID も照合します。つまり、"解決済み" と同時に "4" を照合します。

注: [担当者]、[修正バージョン]、[優先度]、[報告者]、[解決状況]、[ステータス] の各フィールドでのみこの演算子を使用できます。

  • ステータス'進行中'に一度もなったことがない作業項目を検索:

    status WAS NOT "In Progress"
  • 2 月 2 日より前にステータスが ['進行中'] ではなかった作業項目を検索:

    status WAS NOT "In Progress" BEFORE "2011/02/02"

CHANGED

"CHANGED" 演算子は、指定したフィールドで変更された値を持つ作業項目の検索に使用します。

この演算子では次の述部を使用できます:

  • AFTER "date"
  • BEFORE "date"
  • BY "username"
  • DURING ("date1","date2")
  • ON "date"
  • FROM "oldvalue"
  • TO "newvalue"

注: [担当者]、[修正バージョン]、[優先度]、[報告者]、[解決状況]、[ステータス] の各フィールドでのみこの演算子を使用できます。

  • 担当者が変更された作業項目を検索:

    assignee CHANGED
  • ステータスが ['進行中'] から ['オープン'] に変更された作業項目を検索:

    status CHANGED FROM "In Progress" TO "Open"
  • 現在の週の間にユーザー "freddo" によって優先度が変更された項目を検索します。

    priority CHANGED BY freddo BEFORE endOfWeek() AFTER startOfWeek()

さらにヘルプが必要ですか?

アトラシアン コミュニティをご利用ください。