グループレベル変数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-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を選択します。
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"