그룹 수준 변수 API
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
이 API를 사용하여 그룹의 CI/CD 변수와 상호작용합니다. 지정된 그룹의 모든 변수를 나열합니다. 지정된 그룹 변수의 세부 정보를 조회합니다. 지정된 그룹 변수를 업데이트합니다. 존재하지 않는 environment_scope를 필터링하면 엔드포인트가 동일한 이름이지만 다른 환경 범위를 가진 변수를 업데이트하는 방식으로 대체됩니다.
히스토리
- GitLab 16.9에서
filter가 도입되었습니다.
이 API를 사용하여 그룹의 CI/CD 변수와 상호작용합니다.
사전 요구 사항:
- 그룹에 대한 Owner 역할이 있어야 합니다.
모든 그룹 변수 목록 조회#
지정된 그룹의 모든 변수를 나열합니다. 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매개변수가 GitLab 16.9에서 도입되었습니다.
지정된 그룹 변수의 세부 정보를 조회합니다. 동일한 키를 가진 변수가 여러 개 있는 경우 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_hidden및hidden속성이 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매개변수가 GitLab 16.9에서 도입되었습니다.
지정된 그룹 변수를 업데이트합니다. 동일한 키를 가진 변수가 여러 개 있는 경우 filter를 사용하여 올바른 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이면 변수가 원시 문자열로 처리됨을 나타냅니다. 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매개변수가 GitLab 16.9에서 도입되었습니다.
지정된 그룹 변수를 삭제합니다. 동일한 키를 가진 변수가 여러 개 있는 경우 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"
