正式なドキュメントは英語版であり、この日本語訳は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 \
  --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文字列はい変数のkey
filterハッシュいいえ利用可能なフィルターは[environment_scope]です。filterパラメータの詳細を参照してください。
curl \
  --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
}

変数を作成

新しい変数を作成します。

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を選択します。

PUT /groups/:id/variables/:key
属性必須説明
id整数または文字列はいグループのIDまたはグループのURLエンコードされたパス
key文字列はい変数のkey
value文字列はい変数のvalue
description文字列いいえ変数の説明。デフォルトはnullです。GitLab 16.2で導入されました。
environment_scope文字列いいえ変数の環境スコープ。PremiumおよびUltimateのみです。
filterハッシュいいえ利用可能なフィルターは[environment_scope]です。filterパラメータの詳細を参照してください。
maskedブール値いいえ変数がマスクされるかどうかを指定します。
protectedブール値いいえ変数が保護されるかどうかを指定します。
rawブール値いいえ変数がraw文字列として扱われるかどうかを指定します。デフォルトはtrueです。falseの場合、値の変数は展開されます。
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を使用して、正しいenvironment_scopeを選択します。

DELETE /groups/:id/variables/:key
属性必須説明
id整数または文字列はいグループのIDまたはグループのURLエンコードされたパス
key文字列はい変数のkey
filterハッシュいいえ利用可能なフィルターは[environment_scope]です。filterパラメータの詳細を参照してください。
curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/variables/VARIABLE_1"

filterパラメータ

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

複数の変数が同じkeyを持っている場合、GETPUT 、またはDELETEリクエストは次のメッセージを返す可能性があります:

There are multiple variables with provided parameters. Please use 'filter[environment_scope]'.

このような場合は、filter[environment_scope]を使用して、一致するenvironment_scope属性を持つ変数を選択します。

例:

  • GET:

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

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

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