プロジェクトレベルのCI/CD変数API
プロジェクト変数の一覧
プロジェクトの変数の一覧を取得します。
GET /projects/:id/variables
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/variables"
[
{
"variable_type": "env_var",
"key": "TEST_VARIABLE_1",
"value": "TEST_1",
"protected": false,
"masked": true,
"raw": false,
"environment_scope": "*",
"description": null
},
{
"variable_type": "env_var",
"key": "TEST_VARIABLE_2",
"value": "TEST_2",
"protected": false,
"masked": false,
"raw": false,
"environment_scope": "*",
"description": null
}
]
単一の変数の取得
単一の変数の詳細を取得します。同じキーを持つ変数が複数ある場合は、filter
を使用して正しいenvironment_scope
を選択します。
GET /projects/:id/variables/:key
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
key | 文字列です。 | はい | 変数のkey
|
filter | ハッシュ | なし | 利用可能なフィルター:[environment_scope] .filter パラメーターの詳細を参照. |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/variables/TEST_VARIABLE_1"
{
"key": "TEST_VARIABLE_1",
"variable_type": "env_var",
"value": "TEST_1",
"protected": false,
"masked": true,
"raw": false,
"environment_scope": "*",
"description": null
}
変数の作成
新しい変数を作成します。同じkey
を持つ変数が既に存在する場合、新しい変数は異なるenvironment_scope
を持つ必要があります。そうでない場合、GitLab は以下のようなメッセージを返します:VARIABLE_NAME has already been taken
.
POST /projects/:id/variables
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
key | 文字列です。 | はい | 変数のkey ; 255 文字以下でなければなりません;A-Z ,a-z ,0-9 ,_ のみ可能です。 |
value | 文字列です。 | はい | 変数のvalue
|
variable_type | 文字列です。 | なし | 変数の型。使用可能な型は env_var (デフォルト) およびfile
|
protected | boolean | なし | 変数が保護されているかどうか。デフォルト:false
|
masked | boolean | なし | 変数をマスクするかどうか。デフォルト:false
|
raw | boolean | なし | 変数を生の文字列として扱うかどうか。デフォルト:false 。true の場合、値の変数は展開されません。 |
environment_scope | 文字列です。 | なし | 変数のenvironment_scope 。デフォルト:*
|
description | 文字列です。 | なし | 変数の説明。デフォルト:null .GitLab 16.2 で導入。 |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/variables" --form "key=NEW_VARIABLE" --form "value=new value"
{
"variable_type": "env_var",
"key": "NEW_VARIABLE",
"value": "new value",
"protected": false,
"masked": false,
"raw": false,
"environment_scope": "*",
"description": null
}
変数の更新
プロジェクトの変数を更新します。同じキーを持つ変数が複数ある場合は、filter
を使って正しいenvironment_scope
を選択してください。
PUT /projects/:id/variables/:key
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
key | 文字列です。 | はい | 変数のkey
|
value | 文字列です。 | はい | 変数のvalue
|
variable_type | 文字列です。 | なし | 変数の型。使用可能な型は env_var (デフォルト) およびfile
|
protected | boolean | なし | 変数が保護されているかどうか |
masked | boolean | なし | 変数がマスクされているかどうか |
raw | boolean | なし | 変数を生の文字列として扱うかどうか。デフォルト:false 。true の場合、値の変数は展開されません。 |
environment_scope | 文字列です。 | なし | 変数のenvironment_scope
|
filter | ハッシュ | なし | 利用可能なフィルター:[environment_scope] .filter パラメーターの詳細を参照. |
description | 文字列です。 | なし | 変数の説明。デフォルト:null .GitLab 16.2 で導入。 |
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/variables/NEW_VARIABLE" --form "value=updated value"
{
"variable_type": "env_var",
"key": "NEW_VARIABLE",
"value": "updated value",
"protected": true,
"masked": false,
"raw": false,
"environment_scope": "*",
"description": "null"
}
変数の削除
プロジェクトの変数を削除します。同じキーを持つ変数が複数ある場合は、filter
を使って、正しいenvironment_scope
を選択してください。
DELETE /projects/:id/variables/:key
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
key | 文字列です。 | はい | 変数のkey
|
filter | ハッシュ | なし | 利用可能なフィルター:[environment_scope] .filter パラメーターの詳細を参照. |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/variables/VARIABLE_1"
filter
パラメータ
複数の変数が同じkey
を持つ場合、GET,PUT,DELETEリクエストが返されることがありました:
There are multiple variables with provided parameters. Please use 'filter[environment_scope]'.
environment_scope
属性と一致する変数を選択するにはfilter[environment_scope]
を使います。
使用例:
-
GET:
curl --globoff --header "PRIVATE-TOKEN: <your_access_token>" \ "https://gitlab.example.com/api/v4/projects/1/variables/SCOPED_VARIABLE_1?filter[environment_scope]=production"
-
PUT:
curl --request PUT --globoff --header "PRIVATE-TOKEN: <your_access_token>" \ "https://gitlab.example.com/api/v4/projects/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>" \ "https://gitlab.example.com/api/v4/projects/1/variables/SCOPED_VARIABLE_1?filter[environment_scope]=production"