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

グループレベル変数API

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

このAPIを使用して、グループのCI/CD変数を操作します。

前提条件:

  • グループのオーナーのロールを持っている必要があります。

すべてのグループ変数を一覧表示

指定されたグループのすべての変数をリスト表示します。結果のページネーションを制御するには、pageおよびper_page ページネーションパラメータを使用します。

GET /groups/:id/variables
属性必須説明
id整数または文字列はいグループのIDまたはURLエンコードされたパス
curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/variables"
[
    {
        "key": "TEST_VARIABLE_1",
        "variable_type": "env_var",
        "value": "TEST_1",
        "protected": false,
        "masked": false,
        "hidden": false,
        "raw": false,
        "environment_scope": "*",
        "description": null
    },
    {
        "key": "TEST_VARIABLE_2",
        "variable_type": "env_var",
        "value": "TEST_2",
        "protected": false,
        "masked": false,
        "hidden": false,
        "raw": false,
        "environment_scope": "*",
        "description": null
    }
]

グループ変数の詳細を取得する

指定されたグループ変数の詳細を取得します。同じキーを持つ変数が複数ある場合は、filterを使用して、正しいenvironment_scopeを選択します。

GET /groups/:id/variables/:key
属性必須説明
id整数または文字列はいグループのIDまたはURLエンコードされたパス
key文字列はい変数のキー。
filterハッシュいいえ複数の変数が同じキーを共有している場合に結果をフィルターします。指定可能な値: [environment_scope]。PremiumおよびUltimateのみです。

リクエスト例:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/variables/TEST_VARIABLE_1"
{
    "key": "TEST_VARIABLE_1",
    "variable_type": "env_var",
    "value": "TEST_1",
    "protected": false,
    "masked": false,
    "hidden": false,
    "raw": false,
    "environment_scope": "*",
    "description": null
}

filterを伴うリクエストの例:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/variables/SCOPED_VARIABLE_1" \
  --form "filter[environment_scope]=production"

グループ変数を作成する

グループ変数を作成します。

POST /groups/:id/variables
属性必須説明
id整数または文字列はいグループのIDまたはURLエンコードされたパス
key文字列はい変数のkey。最大255文字。許可されるのは、A-Za-z0-9、および_のみです。
value文字列はい変数のvalue
description文字列いいえ変数のdescription。最大255文字。デフォルトはnullです。
environment_scope文字列いいえ変数の環境スコープ。PremiumおよびUltimateのみです。
maskedブール値いいえ変数がマスクされるかどうかを指定します。
masked_and_hiddenブール値いいえ変数がマスクされ、非表示になるかどうかを指定します。デフォルトはfalseです。
protectedブール値いいえ変数が保護されるかどうかを指定します。
rawブール値いいえ変数がraw文字列として扱われるかどうかを指定します。デフォルトはtrueです。falseの場合、値内の変数は展開されます
variable_type文字列いいえ変数の型。利用可能なタイプは、env_var(デフォルト)とfileです。
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/variables" \
  --form "key=NEW_VARIABLE" \
  --form "value=new value"
{
    "key": "NEW_VARIABLE",
    "value": "new value",
    "variable_type": "env_var",
    "protected": false,
    "masked": false,
    "hidden": false,
    "raw": false,
    "environment_scope": "*",
    "description": null
}

グループ変数を更新する

指定されたグループ変数を更新します。同じキーを持つ変数が複数ある場合は、filterを使用して、正しいenvironment_scopeを選択します。

environment_scopeに対してフィルタリングしたときに、そのenvironment_scopeが存在しない場合、エンドポイントは同じ名前で異なる環境スコープの変数の更新にフォールバックします。グループ変数の詳細を取得するエンドポイントを使用して、指定された変数のスコープの存在を確認します。

PUT /groups/:id/variables/:key
属性必須説明
id整数または文字列はいグループのIDまたはURLエンコードされたパス
key文字列はい変数のキー。
value文字列はい変数の値。
description文字列いいえ変数の説明。GitLab 16.2で導入されました。デフォルトはnullです。
environment_scope文字列いいえ変数の環境スコープ。PremiumおよびUltimateのみです。
filterハッシュいいえ複数の変数が同じキーを共有している場合に結果をフィルターします。指定可能な値: [environment_scope]。PremiumおよびUltimateのみです。
maskedブール値いいえtrueの場合、変数がマスクされていることを示します。
protectedブール値いいえtrueの場合、変数が保護されていることを示します。
rawブール値いいえtrueの場合、変数がraw文字列として扱われることを示します。falseの場合、変数の値は展開されます。デフォルトはtrueです。
variable_type文字列いいえ変数のタイプ。利用可能なタイプは、env_var(デフォルト)とfileです。

リクエスト例:

curl --request PUT \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/variables/NEW_VARIABLE" \
  --form "value=updated value"
{
    "key": "NEW_VARIABLE",
    "value": "updated value",
    "variable_type": "env_var",
    "protected": true,
    "masked": true,
    "hidden": false,
    "raw": true,
    "environment_scope": "*",
    "description": null
}

filterを伴うリクエストの例:

curl --request PUT \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/variables/SCOPED_VARIABLE_1" \
  --form "value=updated value" \
  --form "environment_scope=production" \
  --form "filter[environment_scope]=production"

グループ変数を削除する

指定されたグループ変数を削除します。同じキーを持つ変数が複数ある場合は、filterを使用して、正しいenvironment_scopeを選択します。

DELETE /groups/:id/variables/:key
属性必須説明
id整数または文字列はいグループのIDまたはURLエンコードされたパス
key文字列はい変数のキー。
filterハッシュいいえ複数の変数が同じキーを共有している場合に結果をフィルターします。指定可能な値: [environment_scope]。PremiumおよびUltimateのみです。

リクエスト例:

curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/variables/VARIABLE_1"

filterを伴うリクエストの例:

curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/variables/SCOPED_VARIABLE_1" \
  --form "filter[environment_scope]=production"