はじめに
普段jiraを使っていますが、何かとfilterでのjqlはよく使います。
ただ、そのたびにこんな検索がしたいんだけどどうやるんだろう...と小一時間悩むことがあるので、そんな時のjqlメモです。
補足
基本編とあんちょこ編に分けて書いてみました
あんちょこ編はtopicがあれば随時更新します(たぶん...
アジェンダ
- あいまい検索
- 日付の指定
- 必須用語/除外用語
- サブタスク検索
- WAS
1. あいまい検索
基本編でも触れましたが、
jqlは~
であいまい検索ができます。
以下、例です。
普通にあいまい検索
Summary (概要)
に issue
およびcollector
という単語が含まれる課題をすべて検索したい
summary ~ "issue collector"
完全一致であいまい検索
issue collector
という語句の完全一致が含まれる検索をしたい
summary ~ "\"issue collector\""
2. 日付の指定
まぁまぁ使うのが日付の指定です。
普通に日付指定
2017年12月12日より前に作成されたものを検索したい
created < "2017/12/12"
(+/-)nn(y|M|w|d|h|m) のオプションで日付指定
日付はyyyy/mm/dd
フォーマットの他にも
(+/-)nn(y|M|w|d|h|m)
のようなフォーマットで指定できます。
期限まで10日の課題
dueData =< "+14d"
3日以内に作られた課題
created >= "-3d"
jql関数で日付指定
日付用の関数も用意されています。
期限が来週いっぱいの課題
due < endOfWeek("+1")
endOfWeek()
はjql関数と言って以下のようなものがあります。
関数 | 例題 | 使用例 |
---|---|---|
now() | 納期をすぎたもの | duedate < now() |
startOfDay() | 3日前から作成されたもの | created > startOfDay("-3d") |
startOfMonth() | 今月の月初以降に作成された課題 | created > startOfMonth() |
先月の月初以降に作成された課題 | created > startOfMonth("-1") | |
今月の15日以降に作成された課題 | created > startOfMonth("+14d") | |
startOfWeek() | 今週の週初以降に作成された課題 | created > startOfWeek() |
先週の週初以降に作成された課題 | created > startOfWeek("-1") | |
startOfYear() | 今年の年初以降に作成された課題 | created > startOfYear() |
endOfDay() | 納期が今日になっている課題 | due < endOfDay() |
納期が明日になっている課題 | due < endOfDay("+1") | |
endOfMonth() | 納期が今月までとなっている課題 | due < endOfMonth() |
納期が来月までとなっている課題を検索する | 納期が来月までとなっている課題 | |
endOfWeek() | 納期が今週末までとなっている課題 | due < endOfWeek() |
納期が来週末までとなっている課題 | due < endOfWeek("+1") | |
endOfYear() | 納期が今年末までとなっている課題 | due < endOfYear() |
納期が来年の3月末までとなっている課題 | due < endOfYear("+3M") |
このあたりは公式にも詳しくのっています
* 詳細検索 - 機能リファレンス
3. 必須用語:+/除外用語:-
必須用語:+
必須用語というのは、単一ドキュメントのフィールド内のどこかに "+" 記号に続く用語が存在しなければならないことを意味します。
説明だとわかりにくいのでさっそく例です。
"jira" を必ず含み、"atlassian" を含む可能性のあるドキュメントを検索
+jira atlassian
除外用語:-
逆に除外用語はわかりやすいと思います。
" atlassian jira" を含むが、"japan" は含まないドキュメントを検索
"atlassian jira" -japan
このあたりは公式にも詳しくのっています
* テキストフィールドの検索の構文
4. サブタスク検索
jiraにはとあるチケットに対してsub task
という単位で子チケットを作ることができます。
サブタスク関連で検索したい時も結構ありますよね。
parent
とあるチケット(たとえばHOGE-123)に紐づくサブタスクを検索したい
parent = "HOGE-123"
issuetype
5日以内に作られたサブタスクを検索したい
created > "-5d" and issuetype = "sub-task"
5. WAS
jiraのクエリーにはwasというなかなか秀逸な演算子も存在します。
指定したフィールドの指定した値が現在存在するか、
だけでなく、過去に存在したか、というのも検索条件に含んでくれます。
これも例をみたほうが早いと思います。
プロジェクトがhogeで、アサインが現在fuga、もしくは、fugaだったことがある
もので、ステータスがopenの課題
project = hoge and assignee was fuga and status = open
今のアサインがfuga
でなくともhitします
おわり
なかなかイロイロな検索ができますね\(^o^)/