InfoGrab DocsInfoGrab Docs

그룹 수준 변수 API

요약

이 API를 사용하여 그룹의 CI/CD 변수와 상호작용합니다. 지정된 그룹의 모든 변수를 나열합니다. 지정된 그룹 변수의 세부 정보를 조회합니다. 지정된 그룹 변수를 업데이트합니다. 존재하지 않는 environment_scope를 필터링하면 엔드포인트가 동일한 이름이지만 다른 환경 범위를 가진 변수를 업데이트하는 방식으로 대체됩니다.

이 API를 사용하여 그룹의 CI/CD 변수와 상호작용합니다.

사전 요구 사항:

  • 그룹에 대한 Owner 역할이 있어야 합니다.

모든 그룹 변수 목록 조회#

지정된 그룹의 모든 변수를 나열합니다. pageper_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"

그룹 변수 생성#

히스토리
  • masked_and_hiddenhidden 속성이 GitLab 17.4에서 도입되었습니다.

그룹 변수를 생성합니다.

POST /groups/:id/variables
속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 그룹의 URL 인코딩된 경로.
key 문자열 변수의 키. 최대 255자. A-Z, a-z, 0-9, _ 만 허용됩니다.
value 문자열 변수의 값.
description 문자열 아니요 변수의 설명. 최대 255자. 기본값: null.
environment_scope 문자열 아니요 변수의 환경 범위. Premium 및 Ultimate 전용.
masked 불리언 아니요 변수가 마스킹되는지 여부.
masked_and_hidden 불리언 아니요 변수가 마스킹되고 숨겨지는지 여부. 기본값: false
protected 불리언 아니요 변수가 보호되는지 여부.
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를 선택합니다.

Warning

존재하지 않는 environment_scope를 필터링하면 엔드포인트가 동일한 이름이지만 다른 환경 범위를 가진 변수를 업데이트하는 방식으로 대체됩니다. 그룹 변수 세부 정보 조회 엔드포인트를 사용하여 특정 변수에 대한 범위의 존재 여부를 확인합니다.

PUT /groups/:id/variables/:key
속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 그룹의 URL 인코딩된 경로.
key 문자열 변수의 키.
value 문자열 변수의 값.
description 문자열 아니요 변수의 설명. 기본값: null.
environment_scope 문자열 아니요 변수의 환경 범위. Premium 및 Ultimate 전용.
filter 해시 아니요 동일한 키를 공유하는 여러 변수가 있을 때 결과를 필터링합니다. 가능한 값: [environment_scope]. Premium 및 Ultimate 전용.
masked 불리언 아니요 true이면 변수가 마스킹됨을 나타냅니다.
protected 불리언 아니요 true이면 변수가 보호됨을 나타냅니다.
raw 불리언 아니요 true이면 변수가 원시 문자열로 처리됨을 나타냅니다. 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"

그룹 수준 변수 API

GitLab v19.3
Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기

요약

이 API를 사용하여 그룹의 CI/CD 변수와 상호작용합니다. 지정된 그룹의 모든 변수를 나열합니다. 지정된 그룹 변수의 세부 정보를 조회합니다. 지정된 그룹 변수를 업데이트합니다. 존재하지 않는 environment_scope를 필터링하면 엔드포인트가 동일한 이름이지만 다른 환경 범위를 가진 변수를 업데이트하는 방식으로 대체됩니다.

이 API를 사용하여 그룹의 CI/CD 변수와 상호작용합니다.

사전 요구 사항:

  • 그룹에 대한 Owner 역할이 있어야 합니다.

모든 그룹 변수 목록 조회#

지정된 그룹의 모든 변수를 나열합니다. pageper_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"

그룹 변수 생성#

히스토리
  • masked_and_hiddenhidden 속성이 GitLab 17.4에서 도입되었습니다.

그룹 변수를 생성합니다.

POST /groups/:id/variables
속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 그룹의 URL 인코딩된 경로.
key 문자열 변수의 키. 최대 255자. A-Z, a-z, 0-9, _ 만 허용됩니다.
value 문자열 변수의 값.
description 문자열 아니요 변수의 설명. 최대 255자. 기본값: null.
environment_scope 문자열 아니요 변수의 환경 범위. Premium 및 Ultimate 전용.
masked 불리언 아니요 변수가 마스킹되는지 여부.
masked_and_hidden 불리언 아니요 변수가 마스킹되고 숨겨지는지 여부. 기본값: false
protected 불리언 아니요 변수가 보호되는지 여부.
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를 선택합니다.

Warning

존재하지 않는 environment_scope를 필터링하면 엔드포인트가 동일한 이름이지만 다른 환경 범위를 가진 변수를 업데이트하는 방식으로 대체됩니다. 그룹 변수 세부 정보 조회 엔드포인트를 사용하여 특정 변수에 대한 범위의 존재 여부를 확인합니다.

PUT /groups/:id/variables/:key
속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 그룹의 URL 인코딩된 경로.
key 문자열 변수의 키.
value 문자열 변수의 값.
description 문자열 아니요 변수의 설명. 기본값: null.
environment_scope 문자열 아니요 변수의 환경 범위. Premium 및 Ultimate 전용.
filter 해시 아니요 동일한 키를 공유하는 여러 변수가 있을 때 결과를 필터링합니다. 가능한 값: [environment_scope]. Premium 및 Ultimate 전용.
masked 불리언 아니요 true이면 변수가 마스킹됨을 나타냅니다.
protected 불리언 아니요 true이면 변수가 보호됨을 나타냅니다.
raw 불리언 아니요 true이면 변수가 원시 문자열로 처리됨을 나타냅니다. 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"