프로젝트 수준 CI/CD 변수 API
Offering: GitLab.com, Self-managed, GitLab Dedicated
프로젝트 변수 목록 조회
프로젝트의 변수 목록을 가져옵니다.
GET /projects/:id/variables
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
integer/string | 예 | 프로젝트의 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 |
integer/string | 예 | 프로젝트의 ID 또는 URL 인코딩 경로 |
key |
string | 예 | 변수의 key
|
filter |
hash | 아니오 | 사용 가능한 필터: [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 |
integer/string | 예 | 프로젝트의 ID 또는 URL 인코딩 경로 |
key |
string | 예 | 변수의 key ; 255자 이하여야 하며, A-Z , a-z , 0-9 , _ 만 허용됨 |
value |
string | 예 | 변수의 value
|
description |
string | 아니오 | 변수의 설명. 기본값: null . 도입됨 in GitLab 16.2. |
environment_scope |
string | 아니오 | 변수의 environment_scope . 기본값: *
|
masked |
boolean | 아니오 | 변수가 마스킹되는지 여부. 기본값: false
|
protected |
boolean | 아니오 | 변수가 보호되는지 여부. 기본값: false
|
raw |
boolean | 아니오 | 변수가 원형 문자열로 처리되는지 여부. 기본값: false . true 인 경우, 값에서 변수는 확장되지 않음. |
variable_type |
string | 아니오 | 변수의 유형. 사용 가능한 유형은: env_var (기본값) 및 file 경우 |
예제 요청:
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
}
변수를 업데이트하다
프로젝트의 변수를 업데이트합니다. 동일한 키를 가진 변수가 여러 개 있는 경우, 올바른 environment_scope
를 선택하기 위해 filter
를 사용합니다.
PUT /projects/:id/variables/:key
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수/문자열 | 예 | 프로젝트의 ID 또는 URL 인코딩 경로 |
key |
문자열 | 예 | 변수의 key
|
value |
문자열 | 예 | 변수의 value
|
description |
문자열 | 아니오 | 변수에 대한 설명. 기본값: null . 도입됨 GitLab 16.2에서. |
environment_scope |
문자열 | 아니오 | 변수의 environment_scope
|
filter |
해시 | 아니오 | 사용 가능한 필터: [environment_scope] . filter 매개변수 세부정보를 참조하세요. |
masked |
불리언 | 아니오 | 변수가 마스킹되었는지 여부 |
protected |
불리언 | 아니오 | 변수가 보호되었는지 여부 |
raw |
불리언 | 아니오 | 변수가 원시 문자열로 처리되는지 여부. 기본값: false . true 인 경우, 값 내의 변수는 확장되지 않습니다. |
variable_type |
문자열 | 아니오 | 변수의 유형. 사용 가능한 유형: env_var (기본값) 및 file
|
예제 요청:
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"
}
변수를 삭제하다
프로젝트의 변수를 삭제합니다. 동일한 키를 가진 변수가 여러 개 있는 경우, 올바른 environment_scope
를 선택하기 위해 filter
를 사용합니다.
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 요청은 다음과 같은 결과를 반환할 수 있습니다:
제공된 매개변수로 여러 변수가 있습니다. 'filter[environment_scope]'를 사용하세요.
filter[environment_scope]
를 사용하여 일치하는 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"