JQL 関数

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

JQL における関数は単語のあとに括弧が続くもので、1 つ以上の値や Jira フィールドを含むことがあります。句では、関数の前に演算子があり、その前にフィールドがあります。関数は特定の Jira データまたは関数内のコンテンツの計算を実行し、関数または関数を利用する句では真となる結果のみを取得します。

検索クエリで指定されていないかぎり、JQL 検索の結果で空のフィールドが返されることはありません。現在のユーザーに割り当てられていない課題を検索するときに空のフィールド (未割り当ての課題) を含めるには、(assignee != currentUser() OR assignee is EMPTY) と入力して、未割り当ての課題を検索結果に含めます。

approved()

Jira Service Management サブスクリプションがあるサイトにのみ適用されます。

承認が必要だったリクエストや、承認が最終決定済みのリクエストを検索します。

構文

1 approved()

サポートされるフィールド

Approval タイプのカスタム フィールド

サポートされる演算子

=

サポートされない演算子

~ , != , !~ , > , >= , < , <=  IS , IS NOT , IN , NOT IN , WAS, WAS IN, WAS NOT, WAS NOT IN , CHANGED

  • 承認済みのすべてのリクエストを検索:
    approvals = approved()

approver()

Jira Service Management サブスクリプションがあるサイトにのみ適用されます。

ユーザーによる承認が必要または必要だったリクエストを検索します。これは OR 演算子を使用し、ユーザー名を指定する必要があります。

構文

1 approver(user,user)

サポートされるフィールド

Approval タイプのカスタム フィールド

サポートされる演算子

=

サポートされない演算子

~ , != , !~ , >、>=、<、<=
IS , IS NOT , IN , NOT IN , WAS, WAS IN, WAS NOT, WAS NOT IN , CHANGED

  • John Smith による承認が必要または必要だったリクエストを検索:
    approvals = approver(jsmith)

  • John Smith または Sarah Khan による承認が必要または必要だったリクエストを検索: approvals = approver(jsmith,skhan)

breached()

Jira Service Management サブスクリプションがあるサイトにのみ適用されます。

直近の SLA で目標を達成できなかった課題を返します。

構文

1 breached()

サポートされるフィールド

SLA

サポートされる演算子

= , !=

サポートされない演算子

~ , !~ , > , >= , < , <= IS , IS NOT , WAS , WAS IN , WAS NOT , WAS NOT IN , CHANGED

  • 初回応答時間に違反した課題を検索:
    "Time to First Response" = breached()

cascadeOption()

"cascading select" カスタム フィールドの値が選択したものと一致する課題を検索します。

parentOption パラメーターは、cascading select フィールドの第 1 階層のオプションに対応します。childOption() パラメーターは、cascading select フィールドの第 2 階層のオプションに対応します。 

"none" キーワードは、片方もしくは両方にのオプションに値を持たない課題を検索するときに使用します。

構文

1 2 cascadeOption(parentOption) cascadeOption(parentOption,childOption)

サポートされるフィールド

"Cascading Select" タイプのカスタム フィールド

サポートされる演算子

IN , NOT IN

サポートされない演算子

= , != , ~ , !~ , > , >= , < , <= IS , IS NOT, WAS , WAS IN , WAS NOT , WAS NOT IN , CHANGED

  • "Location" カスタム フィールドの 1 階層の値が "USA"、2 階層の値が "New York" となっている課題を検索:
    location in cascadeOption("USA","New York")

  • "Location" カスタム フィールドの 1 階層の値が "USA" となっているすべての課題 (2 階層目の値の内容や有無は問わない) を検索:
    location in cascadeOption("USA")

  • "Location" カスタム フィールドの 1 階層の値が "USA" で 2 階層に値を持たない課題を検索:
    location in cascadeOption("USA",none)

  • "Location" カスタム フィールドの 1 階層と 2 階層の両方に値を持たない課題を検索:
    location in cascadeOption(none)

  • "Referrer" カスタム フィールドの 1 階層の値が "none" で 2 階層の値が "none" となっている課題を検索:
    referrer in cascadeOption("\"none\"","\"none\"")

  • "Referrer" カスタム フィールドの 1 階層の値が "none" で 2 階層に値を持たない課題を検索:
    referrer in cascadeOption("\"none\"",none)

choiceOption()

複数選択またはドロップダウンのカスタム フィールドのオプションの基礎となる ID を提供します。たとえば、YesNoUnknown のオプションがある多肢選択フィールドでは、No を検索すると 2 が返されます。

少なくとも 1 つの引数が必要です。複数の引数の場合は、それぞれの ID を返します。引数は有効なオプション値でなければなりません。

構文

1 2 choiceOption(ValueOption) choiceOption(ValueOption1,ValueOption2,ValueOption3)

サポートされるフィールド

タイプ multiple choicedropdown のカスタム フィールド

サポートされる演算子

IN,NOT IN

サポートされない演算子

=!=~!~>>=<<=ISIS NOTWASWAS INWAS NOTWAS NOT INCHANGED

  1. オプションの数値(例えば productVersion: 121, 122, 123)を検索する場合:
    "productVersion[Select List (multiple choices)]" in choiceOption(123)

  2. 12345 が ID でもオプション値でもある場合は、オプション値が一致する課題を返します:
    "customFieldRelatedToSprint[Dropdown]" in choiceOption(12345)

closedSprints()

完了したスプリントに割り当てられている課題を検索します。

完了したスプリントと未完了のスプリントの両方に 1 つの課題が属している場合もあります。openSprints() もご確認ください。

構文

1 closedSprints()

サポートされるフィールド

Sprint

サポートされる演算子

IN , NOT IN

サポートされない演算子

= , != , ~ , !~ , > , >= , < , <=
IS , IS NOT, WAS , WAS IN , WAS NOT , WAS NOT IN , CHANGED

  • 完了済みのスプリントに割り当てられているすべての課題を検索:
    sprint in closedSprints()

completed()

Jira Service Management サブスクリプションがあるサイトにのみ適用されます。

1 つ以上のサイクルを完了した SLA を持つ課題を返します。 

構文

1 completed()

サポートされるフィールド

SLA

サポートされる演算子

= , !=

サポートされない演算子

~ , !~ , > , >= , < , <= IS , IS NOT , WAS , WAS IN , WAS NOT , WAS NOT IN , CHANGED

  • 初回応答時間を 1 回以上達成した課題を検索:
    "Time to First Response" = completed()

componentsLeadByUser()

特定のユーザーが主導しているコンポーネント内の課題を検索します。必要に応じてユーザーを指定できます。ユーザーを指定しない場合、現在のユーザー (自身) が使用されます。 

Jira にログインしていない場合は、ユーザーを指定する必要があります。

構文

1 2 componentsLeadByUser() componentsLeadByUser(username)

サポートされるフィールド

Component

サポートされる演算子

IN , NOT IN

サポートされない演算子

= , != , ~ , !~ , > , >= , < , <= IS , IS NOT, WAS , WAS IN , WAS NOT , WAS NOT IN , CHANGED

  • 自身がリードであるコンポーネントのオープンな課題を検索:
    component in componentsLeadByUser() AND status = Open

  • Bill がリードであるコンポーネントのオープンな課題を検索:
    component in componentsLeadByUser(bill) AND status = Open

currentLogin()

現在のユーザーによるセッションの開始時間に基づいて検索を実行します。lastLogin もご確認ください。

構文

1 currentLogin()

サポートされるフィールド

作成日、期限、解決日、更新日、Date/Time タイプのカスタム フィールド

サポートされる演算子

= , != , > , >= , < , <= WAS* , WAS IN* , WAS NOT* , WAS NOT IN* , CHANGED* * Only in predicate 

サポートされない演算子

~ , !~ IS , IS NOT , IN , NOT IN

  • 現在のセッション中に作成された課題を検索:
    created > currentLogin()

currentUser()

現在のログイン ユーザーに基づいて検索を実行します。 

この関数は、ログイン済みのユーザーのみが使用できます。したがって、匿名ユーザーが利用することを想定したフィルターを作成する場合、この関数を使うことはできません。

構文

1 currentUser()

サポートされるフィールド

担当者、報告者、投票者、ウォッチャー、作成者、ユーザー タイプのカスタム フィールド

サポートされる演算子

= , !=

サポートされない演算子

~ , !~ , > , >= , < , <= IS , IS NOT , IN , NOT IN , WAS , WAS IN , WAS NOT , WAS NOT IN , CHANGED

  • 自身に割り当てられた課題を検索:
    assignee = currentUser()

  • 自分が報告したが自分に割り当てられていない課題を検索:

    1 reporter = currentUser() AND (assignee != currentUser() OR assignee is EMPTY)

customerDetail()

顧客の詳細に基づいて検索を実行します。

この JQL 関数を使用するには、[プロジェクト設定] の "機能" ページで [カスタマー サービス管理] をオンにします。

構文

1 customerDetail( )

サポートされるフィールド

担当者、報告者、投票者、ウォッチャー、User タイプのカスタム フィールド

サポートされる演算子

IN , NOT IN

サポートされない演算子

= , != , ~ , !~ , > , >= , < , <= IS , IS NOT , WAS , WAS IN , WAS NOT IN, WAS NOT , CHANGED

  • APAC 地域のカスタマーから報告されたすべてのリクエストのキューを作成する:
    reporter in customerDetail("Region", "APAC")

  • 技術担当者ではないカスタマーから報告されたすべてのリクエストのキューを作成する:
    reporter not in customerDetail("Role", "Technical Contact")

earliestUnreleasedVersion()

プロジェクトの未リリースのバージョンの中で一番古いバージョンに基づいて検索を実行します。「unreleasedVersions」も参照してください。

バージョンの順序は、プロジェクトの [リリース] ページにバージョンが表示される順序によって決まります。一覧の一番下のバージョンが "一番古い" ものとなります。バージョンの順序を変更するには、一覧でバージョンをドラッグ アンド ドロップして新しい場所に配置します。

構文

1 earliestUnreleasedVersion(project)

サポートされるフィールド

影響バージョン、修正バージョン、Version タイプのカスタム フィールド

サポートされる演算子

= , != , ~ , !~ , > , >= , < , <=

IS, IS NOT, WAS, WAS NOT

サポートされない演算子

IN, NOT IN、WAS IN、WAS NOT IN、CHANGED

  • FixVersion が ABC プロジェクトの一番古い未リリースのバージョンである課題を検索:
    fixVersion = earliestUnreleasedVersion(ABC)

  • ABC プロジェクトの一番古い未リリースのバージョンに関連する課題を検索:
    affectedVersion = earliestUnreleasedVersion(ABC) or fixVersion = earliestUnreleasedVersion(ABC)

elapsed()

Jira Service Management サブスクリプションがあるサイトにのみ適用されます。

SLA サイクルの開始イベントに対し、SLA クロックが特定の相対的なタイミングにある課題を返します。  

構文

1 elapsed()

サポートされるフィールド

SLA

サポートされる演算子

= , !=, > , >= , < , <=

サポートされない演算子

~ IS , IS NOT , WAS , WAS IN , WAS NOT , WAS NOT IN , CHANGED

  • 初回応答を 1 時間より長く待機している課題を検索
    "Time to First Response" > elapsed("1h")

endOfDay()

検索実行日の最終時刻に基づいて検索を実行します。

endOfWeekendOfMonthendOfYearstartOfDaystartOfWeekstartOfMonth、および startOfYear もご確認ください。

構文

1 2 endOfDay() endOfDay("inc")

inc  は、(+/-)nn(y|M|w|d|h|m). のオプションのインクリメントです。時間単位の修飾子が省略された場合、既定ではその関数の自然周期が設定されます。endOfDay("+1") は endOfDay("+1d") と同じと解釈されます。プラス/マイナス (+/-) 記号が省略された場合、プラスと見なされます。

サポートされるフィールド

作成日、期限、解決日、更新日、Date/Time タイプのカスタム フィールド

サポートされる演算子

= , != , > , >= , < , <= WAS* , WAS IN* , WAS NOT* , WAS NOT IN* , CHANGED** Only in predicate

サポートされない演算子

~ , !~ IS , IS NOT , IN , NOT IN

  • 期限が今日中である課題を検索:
    due < endOfDay()

  • 期限が明日中である課題を検索:
    due < endOfDay("+1")

endOfMonth()

検索実行日の月末に基づいて検索を実行します。

endOfDayendOfWeekendOfYearstartOfDaystartOfWeekstartOfMonth、および startOfYear もご確認ください。

構文

1 2 endOfMonth() endOfMonth("inc")

inc  は、(+/-)nn(y|M|w|d|h|m). のオプションのインクリメントです。時間単位の修飾子が省略された場合、既定ではその関数の自然周期が設定されます。endOfMonth("+1") は endOfMonth("+1M") と同じと解釈されます。プラス/マイナス (+/-) 記号が省略された場合、プラスと見なされます。

サポートされるフィールド

作成日、期限、解決日、更新日、Date/Time タイプのカスタム フィールド

サポートされる演算子

= , != , > , >= , < , <= WAS* , WAS IN* , WAS NOT* , WAS NOT IN* , CHANGED** Only in predicate

サポートされない演算子

~ , !~ IS , IS NOT , IN , NOT IN

  • 期限が今月中である課題を検索:
    due < endOfMonth()

  • 期限が来月中である課題を検索:
    due < endOfMonth("+1")

  • 期限が来月の 15 日である課題を検索
    due < endOfMonth("+15d")

endOfWeek()

期日が今週中である課題を検索します。既定では、この関数は週の最終日を土曜日とみなします。週の最終日として別の日 (日曜日など) を使用することもできます。以下の例の構文を参照してください。 

endOfDayendOfMonthendOfYearstartOfDaystartOfWeekstartOfMonth、 および startOfYear もご確認ください。

構文

1 2 endOfWeek() endOfWeek("inc")

inc  は、(+/-)nn(y|M|w|d|h|m). のオプションのインクリメントです。時間単位の修飾子が省略された場合、既定ではその関数の自然周期が設定されます。endOfWeek("+1") は endOfWeek("+1w") と同じと解釈されます。プラス/マイナス (+/-) 記号が省略された場合、プラスと見なされます。

サポートされるフィールド

作成日、期限、解決日、更新日、Date/Time タイプのカスタム フィールド

サポートされる演算子

= , != , > , >= , < , <= WAS* , WAS IN* , WAS NOT* , WAS NOT IN* , CHANGED** Only in predicate

サポートされない演算子

~ , !~ IS , IS NOT , IN , NOT IN

  • 期日が今週中である課題 (初期設定では最終日は土曜日) を検索:
    due < endOfWeek()

  • 期日が今週中である課題を検索 (最終日は日曜日):
    due < endOfWeek("+1d")

  • 期限が来週中である課題を検索:
    due < endOfWeek("+1")

endOfYear()

検索実行日の年末に基づいて検索を実行します。

startOfDaystartOfWeekstartOfMonthendOfDayendOfWeekendOfMonth、およびendOfYear もご確認ください。

構文