그룹 레벨 변수 API

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-Managed, GitLab Dedicated

그룹 변수 디렉터리

그룹의 변수 디렉터리을 가져옵니다.

GET /groups/:id/variables
속성 유형 필수 여부 설명
id 정수/문자열 그룹 ID 또는 그룹의 URL-인코딩 경로
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/variables"
[
    {
        "key": "TEST_VARIABLE_1",
        "variable_type": "env_var",
        "value": "TEST_1",
        "protected": false,
        "masked": false,
        "raw": false,
        "environment_scope": "*",
        "description": null
    },
    {
        "key": "TEST_VARIABLE_2",
        "variable_type": "env_var",
        "value": "TEST_2",
        "protected": false,
        "masked": 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>" "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,
    "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. 기본값: null.
environment_scope 문자열 아니요 변수의 환경 범위. Premium 및 Ultimate 전용.
masked 부울 아니요 변수가 마스킹되었는지 여부.
protected 부울 아니요 변수가 보호되었는지 여부.
raw 부울 아니요 변수가 원시 문자열로 처리되는지 여부. 기본값: false. true인 경우 값의 변수는 expanded되지 않습니다.
variable_type 문자열 아니요 변수의 유형. 사용 가능한 유형: env_var (기본값) 및 file.
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
     "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,
    "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 부울 아니요 변수가 원시 문자열로 처리되는지 여부. 기본값: false. true인 경우 값의 변수는 expanded되지 않습니다.
variable_type 문자열 아니요 변수의 유형. 사용 가능한 유형: env_var (기본값) 및 file.
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
     "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,
    "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>" \
     "https://gitlab.example.com/api/v4/groups/1/variables/VARIABLE_1"

filter 매개변수

Tier: Premium, Ultimate Offering: GitLab.com, Self-Managed, GitLab Dedicated
  • 소개: GitLab 16.9에서 소개되었습니다.

여러 변수가 동일한 ‘key’를 가질 때 GET, PUT, 또는 DELETE 요첨은 다음을 반환할 수 있습니다:

제공된 매개변수와 일치하는 여러 변수가 있습니다. 'filter[environment_scope]'을(를) 사용하세요.

filter[environment_scope]을(를) 사용하여 ‘environment_scope’ 속성이 일치하는 변수를 선택합니다.

예를 들어:

  • GET:

    curl --globoff --header "PRIVATE-TOKEN: <your_access_token>" \
         "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>" \
         "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>" \
         "https://gitlab.example.com/api/v4/groups/1/variables/SCOPED_VARIABLE_1?filter[environment_scope]=production"