はじめに
普段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^)/