SLA 用の JQL クエリを作成する
SLA (サービス レベル アグリーメント) を作成する際、JQL クエリでは特定の順序に従う必要があります。また、SLA クエリの作成時によく使用される関数や演算子のほか、クエリで特定の機能を実行するために Jira で予約されている文字や単語もあります。JQL フィールドの詳細をご確認ください。
クエリの要素
JQL では 1 つのクエリに 4 つの基本要素があります。
フィールド
フィールドとは、システム内のさまざまなタイプの情報のことです。たとえば、Jira Service Management のフィールドには、優先度、作業タイプ、作成日、プロジェクトなどがあります。
演算子
演算子はクエリの中心であり、フィールドと値とを関連付けます。一般的な演算子には、等しい (=)、等しくない (!=)、より少ない (<) などがあります。
値
値は、クエリ内の実際のデータです。例: paused() および remaining(“2h”)。
関数
関数とは、特定のデータにアクセスするために使用される、Jira 内での特別な計算です。たとえば、SLA 違反になった作業項目などがこれに該当します。
オプションとして、いくつかの選択キーワードでクエリ同士をリンクすることができます。キーワードは、特別な意味を持つ、言語での特定の単語です。例として、AND や OR などがあります。
JQL のシンプルなクエリは、フィールド、演算子、1 つ以上の値または関数 の順に構成されます。
例: project = Test
上記のクエリは Test プロジェクトのすべての作業項目を検索し、project (フィールド) 、等号 = (演算子)、Test (値) を使用します。
SLA クエリの作成時に一般的に使用される関数
以下、SLA 用に JQL クエリを作成する際によく使用される関数です。
breached()
前回の SLA サイクルがサービス目標の達成に失敗した作業項目をフィルターで除外します。
everBreached()
サービス目標の達成に失敗した作業項目をフィルターで除外します。
paused()
現在の SLA サイクルが特定の条件によって一時停止している作業項目をフィルタで抽出します。たとえば、作業項目のステータスが "顧客待ち" の場合に作業項目の SLA クロックを一時停止できます。
completed()
SLA サイクルが完了した作業項目、つまり、停止イベントのいずれかに到達した作業項目をフィルタで抽出します。
running()
SLA クロックが実行中の作業項目、つまり停止イベントのいずれかに到達していない作業項目をフィルタで抽出します。
withinCalendarHours()
条件ではなく SLA カレンダーに従って、SLA クロックが実行中または実行中ではない作業項目をフィルタで抽出します。
elapsed()
進行中の SLA サイクルの開始イベント以降に SLA サイクルのクロックが指定された時間条件を満たす作業項目をフィルタで抽出します。
remaining()
SLA サイクルのクロックが、作業項目で SLA 目標が達成されるまでに、指定された時間条件を満たす作業項目をフィルターで抽出します。
よく使用される演算子
SLA の JQL クエリで使用できる一般的な文字や単語演算子をご紹介します。
文字
=、>、>、=、~、!=、<、<=、!~
単語
not、in、is not、was、not、was not、in、not in、is、was、was in、changed
予約文字と予約語
クエリで使用する際には特定の方法を使用する必要がある、Jira の予約文字と予約語の一部を紹介します。
文字
スペース (" ")、+、.、;、?、|、*、/、%、^、$、#、@、[ ]、 、
単語
a、and、are、as、at,、be、but、by、for、if、in、into、is、it、no、not、of、on、or、s、such、t、that、the、their、then、there、these、they、this、to、was、will、with
クエリに予約文字や予約語を使用する場合は、以下が必要となります。
引用符で囲みます。1 組の引用符または二重引用符を使用できます。例: 'Time to first response'。
テキスト フィールドでの検索を行おうとしていて、対象の文字が予約文字または予約語のリストに含まれる場合は、手前に 2 つのバックスラッシュを付けます。例: \\'Time to first response'
JQL の例: SLA 目標を達成していない作業項目を見つける
たとえば、初期応答目標を達成したプロジェクトの作業項目をすべて見つけるには、以下のクエリを使用します。
“Time to first response“ != everBreached ()
JQL の例: SLA クロックに基づいて作業項目を見つける
たとえば、初回応答を 10 分未満待っているリクエストを検索する場合、以下のクエリを使用します。
"Time to first response" < elapsed("10m")
または、これから 2 時間以内に解決目標を達成できない作業項目を見つけるには、以下のクエリを使用します。
"Time to resolution" < remaining ("2h")
この内容はお役に立ちましたか?