詳細検索

詳細検索では、Jira クエリ言語 (JQL) によって構造化クエリを生成して課題を検索できます。クイック検索やベーシック検索では定義できない条件を指定できます。たとえば、ORDER BY 条件を使用して Jira の課題を降順または昇順に並べ替えたり、検索結果を希望の日付範囲に絞り込んだりできます。

tip/resting Created with Sketch.

Jira の検索に関する詳細については「JQL: 最も柔軟に Jira を検索する方法 (アトラシアン ブログ)」をご参照ください。

詳細検索の使用前に、次の点を考慮してください。

  • 複雑な検索条件がない場合は、代わりにクイック検索の利用をおすすめします。
  • Jira クエリ言語 (JQL) の使用が難しい場合、代わりにベーシック検索を利用することが出来ます。

JQL は SQL のような構文を使用しますが、データベース クエリ言語ではないことにご注意ください。 

スペース プロジェクトのチーム向けのすべての課題を返す Jira の詳細検索クエリの例を次に示します

  1. 検索結果を絞り込む JQL クエリ
  2. 検索条件に一致する Jira 課題のリスト。

On this page:

高度な検索を使用する

  1. [課題] (ヘッダー内) > [課題を検索] の順に移動します。

    • 既存の検索条件が表示されている場合は、[新規検索] ボタンを選択して検索条件をリセットします。
    • 詳細検索の代わりに基本検索が表示されている場合は、[詳細] ([検索] ボタンの横) を選択します。

      詳細検索に切り替えられない場合は、次のセクションをご確認ください。

  2. JQL クエリを入力します。Jira は、入力中のクエリのコンテキストに基づいて「オートコンプリート」の候補リストを表示します。オートコンプリートはアルファベット順に最初の 15 個の候補のみを表示するため、探しているものが候補に見つからない場合はもっと多くの文字列を入力する必要が生じる可能性があります。 

    オートコンプリートの候補が表示されないのはなぜですか?

    オートコンプリートの候補が表示されない場合は、次の原因が考えられます。

    • ご利用の Jira インスタンスで管理者が JQL のオートコンプリート機能を無効にしているかも可能性があります。
    • オートコンプリートは、関数パラメーターでは利用できません。
    • オートコンプリートの候補は、一部のフィールドで表示されません。フィールドの参照をチェックして、どのフィールドがオートコンプリートに対応しているかをご確認ください。
  3. Enter キーを押すか [検索] を選択して、クエリを実行します。検索結果が課題ナビゲーターに表示されます。

基本と詳細の各検索を切り替える

一般的に、基本検索によって作成したクエリを詳細検索に変換して、再度基本検索に戻せます。ただし、詳細検索によって作成されたクエリは基本検索に変換できない場合があります。詳細は以降のセクションをご参照ください。

ベーシック検索と詳細検索を切り替えられないのはなぜですか?

次の場合は、2 つの検索を切り替えられません。

  • OR 演算子を含むクエリ。

    IN 演算子を使用すると変換されます。例: project in (A, B). E クエリ (project = JRA OR project = CONF) はクエリ (project in (JRA, CONF) と同じですが、2 つめのクエリのみが変換されます。

  • NOT 演算子を含むクエリ。
  • EMPTY 演算子を含むクエリ。
  • 比較演算子 (!=IS、IS NOT、>、>=<<=) を含むクエリ。
  • プロジェクトに関連するフィールドと値を指定するクエリ (バージョン、コンポーネント、カスタム フィールドなど) で、そのプロジェクトが明確に指定されていないクエリ (例: fixVersion = "4.0"AND project=JRA の指定がない場合)。カスタム フィールドはプロジェクト/課題タイプ レベルで設定されるため、特にこの制限の影響を受けやすくなります。一般的に、基本検索フォームで作成できないクエリは、詳細検索から基本検索に変換して作成できません。
詳細検索について理解する

詳細検索を最大限に活用するために、次のトピックをご参照ください。

JQL クエリの構築

シンプルな JQL クエリ (別名「句」) は、フィールドとそれに続く演算子、1 つ以上のまたは関数で構成されます。

例 1

このクエリは TEST プロジェクトにあるすべての課題を検索します。

project = "TEST"

このクエリは TEST プロジェクトにあるすべての課題を検索します。project フィールドEQUALS 演算子、TEST を使用します。 

例 2

より複雑なクエリには以下のようなものがあります。

project = "TEST" AND assignee = currentUser()

このクエリは TEST プロジェクトにあるすべての課題のうち、現在ログインしているユーザーが assignee の課題を検索します。project フィールド、EQUALS 演算子TEST, AND キーワード、currentUser() 関数を使用します。

例 3

特定フィールドの複数の値を検索する JQL クエリです。このクエリは、Component フィールドに値 accessibility"3rd-party apps" のあるタイプ Bug の課題をすべて検索します。

issuetype =  Bug AND component in (accessibility, "3rd-party apps")

クエリではissuetype フィールド、EQUALS 演算子、値 BugAND キーワード、component フィールド、IN 演算子を使用しています。

例 4

今年のはじめ以降に作成されて、今月のはじめ以降に更新された課題を検索する JQL クエリは次のようになります。

project = "Analytics" and created > startOfYear() and updated > startOfMonth()

例 5

Test プロジェクトで発生した課題のうち、要約や説明に「pre-landing report」というテキストを含むものを検索する JQL クエリです。

project = "Test" AND text ~ "pre-landing report"

フィールド、演算子、キーワード、関数に関する詳細は、参照セクションをご参照ください。

JQL クエリの優先順位

JQL クエリの優先順位は、句の結合に使用するキーワードに依存します (例: project = “Teams in Space” などの句)。これを確認するための最も簡単な方法は、AND キーワードを 1 つのグループ句として、 OR をそれらを分割する句として扱うことです。AND キーワードは句をグループ化して本質的に 1 つの結合句に変換するため、他のキーワードよりも優先されます。

例 1

status=resolved AND project=“Teams in Space” OR assignee=captainjoe

このクエリは、Teams in Space プロジェクトにあるすべての resolved 課題 (AND によってグループ化された句) と captainjoe に割り当てられたすべての既存の課題を返します。OR キーワードに続く句は別の句として扱われます。

例 2

status=resolved OR project="Teams in Space" AND assignee=captainjoe

一方、このクエリは、Teams in Space プロジェクトからの captainjoe の課題 (AND でグループ化された句) と既存のすべての resolved 課題を返します (OR で区切られた句)。

例 3

status=resolved OR projects="Teams in Space" OR assigne=captainjoe

OR キーワードのみを使用する際は、すべての句が別々に扱われて優先順位は等しくなります。

優先順位の設定

かっこを使用すると、JQL クエリの優先順位を設定できます。かっこは特定の句をグループ化し、優先的に扱います。

例 1

この例から分かるように、括弧で JQL クエリの優先度を変更できます。このクエリは、Teams in Space プロジェクトに属している、または captainjoe に割り当てられている resolved 課題を返します。

status=resolved AND (project="Teams in Space" OR assignee=captainjoe)

例 2

次の例のように括弧を使用した場合、括弧で囲まれた句は AND ですでに接続されているため、効果はありません。このクエリは、括弧の有無にかかわらず同じ結果を返します。

(status=resolved AND project="Teams in Space") OR assignee=captainjoe

制限されている言葉および文字

予約文字

JQLには次の一連の予約文字があります。

space (" ")+.,;?|*/%^$#@[]

これらの文字をクエリで利用したい場合、次のようにする必要があります。

  • 引用符で囲みます。一重引用符 (') または二重引用符 (") を使用できます。

例:

  • version = "[example]"
  • summary ~ "\\[example\\]"

予約語

また、JQL には予約語のリストが用意されています。これらの単語をクエリで使用する場合は、引用符 (一重または二重) で囲む必要があります。

展開して予約語のリストを表示する

"abort", "access", "add", "after", "alias", "all", "alter", "and", "any", "as", "asc", "audit", "avg", "before", "begin", "between", "boolean", "break", "by", "byte", "catch", "cf", "char", "character", "check", "checkpoint", "collate", "collation", "column", "commit", "connect", "continue", "count", "create", "current", "date", "decimal", "declare", "decrement", "default", "defaults", "define", "delete", "delimiter", "desc", "difference", "distinct", "divide", "do", "double", "drop", "else", "empty", "encoding", "end", "equals", "escape", "exclusive", "exec", "execute", "exists", "explain", "false", "fetch", "file", "field", "first", "float", "for", "from", "function", "go", "goto", "grant", "greater", "group", "having", "identified", "if", "immediate", "in", "increment", "index", "initial", "inner", "inout", "input", "insert", "int", "integer", "intersect", "intersection", "into", "is", "isempty", "isnull", "join", "last", "left", "less", "like", "limit", "lock", "long", "max", "min", "minus", "mode", "modify", "modulo", "more", "multiply", "next", "noaudit", "not", "notin", "nowait", "null", "number", "object", "of", "on", "option", "or", "order", "outer", "output", "power", "previous", "prior", "privileges", "public", "raise", "raw", "remainder", "rename", "resource", "return", "returns", "revoke", "right", "row", "rowid", "rownum", "rows", "select", "session", "set", "share", "size", "sqrt", "start", "strict", "string", "subtract", "sum", "synonym", "table", "then", "to", "trans", "transaction", "trigger", "true", "uid", "union", "unique", "update", "user", "validate", "values", "view", "when", "whenever", "where", "while", "with"

Jira 管理者の場合、このリストは JqlStringSupportImpl.java ファイルにハードコードされていることにご注意ください。


テキスト検索の実施

次のフィールドにおける検索の実行には、CONTAINS 演算子によって Lucene の文字検索機能を使用できます。

展開してテキスト フィールドのリストを表示する
  • 要約。
  • 説明。
  • 環境。
  • コメント。
  • 「フリー テキスト検索ツール」を使用するカスタム フィールド。これらはフリー テキスト、テキスト、読み取り専用テキストの各フィールドのような、組み込みカスタム フィールド タイプのカスタム フィールドです。

また、テキスト フィールドの検索時は、単一と複数の各文字のワイルドカード検索を使用できます。詳細は「テキスト フィールドの検索構文」をご参照ください

日付検索と時間検索の違い

日 (1d) と時間 (24h) の値はクエリで異なる方法によって計算されるため、同じ結果は返されません。

  • "1d" を指定すると、ユーザーが正確な時刻を追加しない限り、サーバー タイムゾーンの 00:00 を一日の始まりとして、そこから計算を開始します。また、クエリをすぐに実行すると、"1d" には当日も含まれます。クエリを実行した時間 (JQL を実行した時点から 24 時間後) に対する相対的な時間は考慮されません。

  • "24h" を使うと、クエリを実行した時間 (JQL を実行した時間から -24 時間) から計算を開始します。

昨日の午後 3 時に課題のステータスを「クローズ」に更新したとします。今日の午後 1 時に次のクエリを実行しました。

  • status changed to "Closed" after -1d は、クローズされた課題を返しません。ただし、status changed to "Closed" after -2d を実行すると、結果が返されます。 

  • status changed to "Closed" after -24h はクローズした課題を返します。

リファレンス

ここでは、JQL クエリの構成に使用される Jira フィールド、演算子、キーワード、関数の概要を説明します。詳細検索の詳細な説明と使用例については「参照」列のリンクをご確認ください。


説明 リファレンス
フィールドJQL でフィールドとは、Jira フィールド (または Jira で定義済みのカスタム フィールド) を表す語です。Jira フィールドで詳細検索を実行して、特定の日付 (または日付範囲) と時刻と、それ以前またはそれ以後に発生した課題を探せます。

フィールドに関する詳細と詳細検索におけるフィールドの使用方法は、フィールドの参照ページをご確認ください。 

フィールドの一覧を表示する

  • affectedVersion
  • approvals
  • assignee
  • attachments
  • category
  • comment
  • component
  • created
  • creator
  • customFieldName
  • "Customer Request Type"
  • description
  • due
  • environment
  • "epic link"
  • filter
  • fixVersion
  • issueKey
  • Issue link type
  • labels
  • lastViewed
  • level
  • originalEstimate
  • parent
  • priority
  • project
  • remainingEstimate
  • reporter
  • request-channel-type
  • request-last-activity-time
  • resolution
  • resolved
  • sprint
  • status
  • summary
  • text
  • timeSpent
  • type
  • updated
  • voter
  • votes
  • watcher
  • watchers
  • worklogAuthor
  • WorklogComment
  • WorklogDate
  • WorkRatio

演算子JQL における演算子とは、その左側に記載されるフィールドと右側に記載される値とを比較する 1 文字以上の記号または文字です。句は、真となる結果のみを取得します。一部の演算子では NOT キーワードを利用できます。

演算子に関する詳細と詳細検索における演算子の使用方法は、演算子の参照ページをご確認ください。 

演算子の一覧を表示する

  • EQUALS: =
  • NOT EQUALS: !=
  • GREATER THAN: >
  • GREATER THAN EQUALS: >=
  • LESS THAN: <
  • LESS THAN EQUALS: <=
  • IN
  • NOT IN
  • CONTAINS: ~
  • DOES NOT CONTAIN: !~
  • IS
  • IS NOT
  • WAS
  • WAS IN
  • WAS NOT IN
  • WAS NOT
  • CHANGED

キーワード

JQL のキーワードは、次のいずれかを行う単語または語句です。

  • 2 つ以上の句を結合して複雑な JQL クエリを形成する。
  • 1 つ以上の句のロジックを変更する。
  • 演算子のロジックを変更する。
  • 明確な定義が JQL クエリにある。
  • JQL クエリの結果を変更する特定の関数を実行する

キーワードに関する詳細と詳細検索におけるキーワードの使用方法は、キーワードの参照ページをご確認ください。 

キーワード一覧を表示する

  • AND
  • OR
  • NOT
  • EMPTY
  • NULL
  • ORDER BY

関数

JQL における関数とは、言葉に丸括弧が続くもので、1 つ以上の値や Jira フィールドを含むことがあります。

関数は特定の Jira データまたは関数内のコンテンツの計算を実行し、関数または関数を利用する句では真となる結果のみを取得します。

関数に関する詳細と詳細検索における関数の使用方法は、関数の参照ページをご確認ください。 

関数の一覧を表示する

  • approved()
  • approver()
  • cascadeOption()
  • closedSprints()
  • componentsLeadByUser()
  • currentLogin()
  • currentUser()
  • earliestUnreleasedVersion()
  • endOfDay()
  • endOfMonth()
  • endOfWeek()
  • endOfYear()
  • issueHistory()
  • issuesWithRemoteLinksByGlobalId()
  • lastLogin()
  • latestReleasedVersion()
  • linkedIssues()
  • membersOf()
  • myApproval()
  • myPending()
  • now()
  • openSprints()
  • pending()
  • pendingBy()
  • projectsLeadByUser()
  • projectsWhereUserHasPermission()
  • projectsWhereUserHasRole()
  • releasedVersions()
  • standardIssueTypes()
  • startOfDay()
  • startOfMonth()
  • startOfWeek()
  • startOfYear()
  • subtaskIssueTypes()
  • unreleasedVersions()
  • votedIssues()
  • watchedIssues()

保存された検索条件の実行

詳細検索の使用時に、左側のパネルに保存済みの検索 (別名 [検索をフィルターとして保存]) が表示されます。左側のパネルが表示されない場合は、カーソルを画面の左側に合わせると表示されます。

New_issues などのフィルターを実行するには、フィルター名を選択します。詳細検索の JQL が設定されて、検索結果が表示されます。

  1. フィルターとして保存された検索。JQL クエリで指定された条件に基づいて課題が返されます。

  2. 検索条件を指定する JQL クエリ。 

  3. 検索条件に一致する課題

保存した検索を削除する場合は「フィルターの削除」をご参照ください。 


注意

Jira Software が使用している Lucene のバージョンを確認するには、/Installation-directory/atlassian-jira/WEB-INF/lib に移動して、Lucene jar ファイルを確認します。Lucene のバージョン番号はそのファイル名の一部として表示されます。


最終更新日 2023 年 4 月 19 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.