GLQL関数
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
GitLab Query Language(GLQL)で関数を使用して、動的なクエリを作成します。
クエリ内の関数
クエリのコンテキストを特定するために、現在のユーザーまたは日付でフィルタリングするなど、クエリ内で関数を使用します。
現在のユーザー
Function name(関数名):currentUser
パラメータ: なし
Syntax(構文): currentUser()
説明: 現在の認証済みユーザーに評価されます。
Additional details(補足情報):
- クエリでこの関数を使用すると、認証されていないユーザーに対してクエリが失敗します。
Examples(例):
現在の認証済みユーザーが担当者であるすべてのイシューをリストします:
assignee = currentUser()現在の認証済みユーザーが担当者であるが、作成者ではないすべてのマージリクエストをリストします:
type = MergeRequest and assignee = currentUser() and author != currentUser()
今日
Function name(関数名):today
パラメータ: なし
Syntax(構文): today()
説明: ユーザーのタイムゾーンで今日の午前0時に評価されます。
Additional details(補足情報):
=演算子で使用すると、ユーザーのタイムゾーンで午前0時から午後11時59分までの時間範囲が考慮されます。
Examples(例):
今日作成されたすべてのイシューをリストします:
created = today()今日マージされたすべてのマージリクエストをリストします:
type = MergeRequest and merged = today()
埋め込みビューの関数
埋め込みビューの既存のフィールドから新しい列を派生させるには、fieldsパラメータに関数を含めます。
新しい列にラベルを抽出する
Function name(関数名):labels
パラメータ: 1つ以上のString値
Syntax(構文): labels("field1", "field2")
説明:
labels関数は、1つ以上のラベル名の文字列値をパラメータとして受け取り、イシューのそれらのラベルのみを含むフィルタリングされた列を作成します。この関数はエクストラクターとしても機能するため、ラベルが抽出された場合、その列も表示するように選択すると、通常のlabels列には表示されなくなります。
Additional details(補足情報):
- デフォルトでは、この関数はラベル名との完全一致を検索します。任意の文字に一致する文字列内のワイルドカード文字(
*)。 - 最小1つ、最大100個のラベル名を
labels関数に渡すことができます。 - この関数に渡されるラベル名は大文字と小文字が区別されません。たとえば、
Deliverableとdeliverableは同等です。
Examples(例):
列にすべての
workflowスコープ付きラベルを含めます:labels("workflow::*")ラベル
Deliverable、Stretch、およびSpikeを含めます:labels("Deliverable", "Stretch", "Spike")backend、frontend、およびendで終わる他のすべてのラベルを含めます:labels("*end")
埋め込みビューにlabels関数を含めるには:
```glql
display: list
fields: title, health, due, labels("workflow::*"), labels
limit: 5
query: project = "gitlab-org/gitlab" AND assignee = currentUser() AND state = opened
```