Tagbangers Blog

JQLの書き方

JIRAで課題検索するときはBasicサーチから好きな選択肢をぽちぽちやればある程度思った課題を取得できるのですが、
「チケット期限が切れて●日経っている課題」「自分(●●チーム)の今週完了すべき課題」「●●プロジェクトの●●ラベルが付いているものか、□□がNULLでないもの」など、込み入った条件を指定したい場合は、 Advanced サーチで JQL (JIRA Query Language) を利用するのが良いです。

JQLを書きたいけれど、Basicサーチで探す方法しか知らない場合

「WallRideデスク」というプロジェクトの、「解決済」だけを選ぶ場合。

Basicサーチでぽちぽちして、「アドバンス」をクリック

そうすると、同じ条件をJQLで表現した場合が表示されます。

例えばカスタムフィールドはJQLを利用するときはcf[ID]みたいなフィールド名になるのですが、customfieldのIDを調べるのが面倒な場合は、Basicサーチで一度検索してからAdvancedサーチモードで調べると簡単です。

JQL Function でよく利用するもの

Dateの考え方: を起点(0)として未来がプラス、過去がマイナスになっていく。5日前は"-5d", 4時間後は"+4h"と表現する。

Date function
意味
使い方例
now()
現在時刻を返す
created >= -24h AND created < now 
今から24時間以内に作られた課題を取得
created <= 24h と同じ
startOfDay(int)
(今日を含まない)●日前の0:00から
created >= startOfDay("-2") 
2日前の0:00以降に作られた課題を取得
参考:created >= -2d 
今の日時から48時間前以降に作られた課題を取得
endOfDay(int)
今からその日の23:59までを日の終わりとする
due < endOfDay("+1d") 
締め切りが明日23:59までの課題を取得
currentLogin()
ユーザがログインしたセッションの時間内で
updated < currentLogin() 
今ログインしている状態で更新された課題を取得
lastLogin()
前回ログインしたセッションの時間内で
created < lastLogin()
openSprints()
オープン中のスプリントの課題を返す
sprint IN openSprints()
closedSprints()
クローズされたスプリントの課題を返す
sprint IN closedSprints()


User function
意味
使い方例
currentUser()
今ログインしているユーザ
assignee = currentUser() 
今ログインしているユーザがアサインされている課題を取得
membersOf(group)
グループに含まれる
creator IN membersOf("dev-team, ui-team")
dev-team または ui-teamのグループに属するユーザが作成した課題を取得


Issue related function
意味
使い方例
watchedIssues()
ウォッチしてる課題
issue IN watchedIssues() 
issueHistory()
ユーザがみた過去50件分の課題を取得
issue IN issueHistory()


Keywordについて

was

(「過去では当てはまる」課題を検索できる。)が使えるのは assignee, reporter, priority, fixVersion, resolution, status

assignee was sasaki AND assignee = bonz 
以前ササキに振られていたが、今はボンズに振られている課題

NULL or EMPTY

データが入っていないものを取得

assignee NOT IN (cowens) OR assignee IS EMPTY 
担当者が決まっていないか、コーエンに振られていない課題

参考URL