プロジェクトレベル変数API

プロジェクト変数一覧

プロジェクトの変数のリストを取得します。

GET /projects/:id/variables
属性 タイプ 必須 説明
id 整数/文字列 はい 認証されたユーザが所有するプロジェクトのIDまたはURLエンコードされたNAMESPACE/PROJECT_NAME
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/variables"
[
    {
        "key": "TEST_VARIABLE_1",
        "variable_type": "env_var",
        "value": "TEST_1"
    },
    {
        "key": "TEST_VARIABLE_2",
        "variable_type": "env_var",
        "value": "TEST_2"
    }
]

変数の詳細を表示

プロジェクト固有の変数の詳細を取得します。

GET /projects/:id/variables/:key
属性 タイプ 必須 説明
id 整数/文字列 はい 認証されたユーザが所有するプロジェクトのIDまたはURLエンコードされたNAMESPACE/PROJECT_NAME
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
}

変数の作成

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

POST /projects/:id/variables
属性 タイプ 必須 説明
id 整数/文字列 はい 認証されたユーザが所有するプロジェクトのIDまたはURLエンコードされたNAMESPACE/PROJECT_NAME
key はい 変数のkey; 255 文字以下でなければなりません;A-Z,a-z,0-9, および_ だけが許可されます。
value はい 変数のvalue
variable_type いいえ 変数の型。使用可能な型は、env_var (デフォルト)およびfile
protected ブーリアン いいえ 変数が保護されているかどうか
masked ブーリアン いいえ 変数がマスクされているかどうか
environment_scope いいえ 変数のenvironment_scope
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"
{
    "key": "NEW_VARIABLE",
    "value": "new value",
    "protected": false,
    "variable_type": "env_var",
    "masked": false,
    "environment_scope": "*"
}

変数の更新

プロジェクトの変数を更新します。

PUT /projects/:id/variables/:key
属性 タイプ 必須 説明
id 整数/文字列 はい 認証されたユーザが所有するプロジェクトのIDまたはURLエンコードされたNAMESPACE/PROJECT_NAME
key はい 変数のkey
value はい 変数のvalue
variable_type いいえ 変数の型。使用可能な型は、env_var (デフォルト)およびfile
protected ブーリアン いいえ 変数が保護されているかどうか
masked ブーリアン いいえ 変数がマスクされているかどうか
environment_scope いいえ 変数のenvironment_scope
filter ハッシュ いいえ 利用可能なフィルター:[environment_scope].filter パラメーターの詳細を参照.
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/variables/NEW_VARIABLE" --form "value=updated value"
{
    "key": "NEW_VARIABLE",
    "value": "updated value",
    "variable_type": "env_var",
    "protected": true,
    "masked": false,
    "environment_scope": "*"
}

変数の削除

プロジェクトの変数を削除します。

DELETE /projects/:id/variables/:key
属性 タイプ 必須 説明
id 整数/文字列 はい 認証されたユーザが所有するプロジェクトのIDまたはURLエンコードされたNAMESPACE/PROJECT_NAME
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 パラメーター

  • GitLab 13.2 で導入されました
  • フィーチャーフラグで有効・無効を切り替えることができ、デフォルトでは無効になっています。
  • GitLab.comでは無効になっています。
  • GitLabセルフマネージドインスタンスで使うには、GitLab管理者に頼んで有効にしてもらいましょう。

このパラメータは、environment_scopeのような属性によるフィルタリングに使用されます。

使用例:

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

有効化または無効化

GitLab RailsコンソールにアクセスできるGitLab管理者は、インスタンスでこれを有効にすることができます。

有効にするには:

Feature.enable(:ci_variables_api_filter_environment_scope)

無効化するには:

Feature.disable(:ci_variables_api_filter_environment_scope)