グループレベル変数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-Z、a-z、0-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を持っている場合、GET 、PUT 、または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"