正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

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関数に渡すことができます。
  • この関数に渡されるラベル名は大文字と小文字が区別されません。たとえば、Deliverabledeliverableは同等です。

Examples(例):

  • 列にすべてのworkflowスコープ付きラベルを含めます:

    labels("workflow::*")
  • ラベルDeliverableStretch、およびSpikeを含めます:

    labels("Deliverable", "Stretch", "Spike")
  • backendfrontend、および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
```