InfoGrab DocsInfoGrab Docs

프로젝트 수준 CI/CD 변수 API

요약

이 API를 사용하여 프로젝트의 CI/CD 변수와 상호작용합니다. 프로젝트의 모든 변수를 나열합니다. 단일 변수의 세부 정보를 검색합니다. 새 변수를 생성합니다. 프로젝트 변수를 업데이트합니다. 프로젝트 변수를 삭제합니다.

이 API를 사용하여 프로젝트의 CI/CD 변수와 상호작용합니다.

프로젝트 변수 목록#

프로젝트의 모든 변수를 나열합니다. pageper_page 페이지네이션 매개변수를 사용하여 결과 페이지네이션을 제어합니다.

GET /projects/:id/variables
속성 유형 필수 설명
id integer or string 프로젝트의 ID 또는 URL 인코딩된 경로

요청 예시:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/variables"

응답 예시:

[
    {
        "variable_type": "env_var",
        "key": "TEST_VARIABLE_1",
        "value": "TEST_1",
        "protected": false,
        "masked": true,
        "hidden": false,
        "raw": false,
        "environment_scope": "*",
        "description": null
    },
    {
        "variable_type": "env_var",
        "key": "TEST_VARIABLE_2",
        "value": "TEST_2",
        "protected": false,
        "masked": false,
        "hidden": false,
        "raw": false,
        "environment_scope": "*",
        "description": null
    }
]

단일 변수 검색#

단일 변수의 세부 정보를 검색합니다. 동일한 키를 가진 변수가 여러 개 있는 경우 filter를 사용하여 올바른 environment_scope를 선택합니다.

GET /projects/:id/variables/:key
속성 유형 필수 설명
id integer or string 프로젝트의 ID 또는 URL 인코딩된 경로.
key string 변수의 키.
filter hash 아니요 여러 변수가 동일한 키를 공유할 때 결과를 필터링합니다. 가능한 값: [environment_scope].

요청 예시:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/variables/TEST_VARIABLE_1"

filter를 사용한 요청 예시:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/variables/SCOPED_VARIABLE_1" \
  --form "filter[environment_scope]=production"

응답 예시:

{
    "key": "TEST_VARIABLE_1",
    "variable_type": "env_var",
    "value": "TEST_1",
    "protected": false,
    "masked": true,
    "hidden": false,
    "raw": false,
    "environment_scope": "*",
    "description": null
}

변수 생성#

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

새 변수를 생성합니다. 동일한 key를 가진 변수가 이미 있는 경우 새 변수는 다른 environment_scope를 가져야 합니다. 그렇지 않으면 GitLab은 다음과 유사한 메시지를 반환합니다: VARIABLE_NAME has already been taken.

POST /projects/:id/variables
속성 유형 필수 설명
id integer or string 프로젝트의 ID 또는 URL 인코딩된 경로
key string 변수의 key; 255자를 초과하지 않아야 하며; A-Z, a-z, 0-9, _만 허용됨
value string 변수의 value
description string 아니요 변수 설명. 기본값: null.
environment_scope string 아니요 변수의 environment_scope. 기본값: *
masked boolean 아니요 변수가 마스킹되는지 여부. 기본값: false
masked_and_hidden boolean 아니요 변수가 마스킹되고 숨겨지는지 여부. 기본값: false
protected boolean 아니요 변수가 보호되는지 여부. 기본값: false
raw boolean 아니요 변수가 원시 문자열로 처리되는지 여부. 기본값: true. false인 경우 값의 변수가 확장됩니다.
variable_type string 아니요 변수 유형. 사용 가능한 유형: env_var(기본값) 및 file

요청 예시:

curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "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,
    "hidden": false,
    "raw": false,
    "environment_scope": "*",
    "description": null
}

변수 업데이트#

프로젝트 변수를 업데이트합니다. 동일한 키를 가진 변수가 여러 개 있는 경우 filter를 사용하여 올바른 environment_scope를 선택합니다.

PUT /projects/:id/variables/:key
속성 유형 필수 설명
id integer or string 프로젝트의 ID 또는 URL 인코딩된 경로.
key string 변수의 키.
value string 변수의 값.
description string 아니요 변수 설명. 기본값: null.
environment_scope string 아니요 변수의 환경 범위.
filter hash 아니요 여러 변수가 동일한 키를 공유할 때 결과를 필터링합니다. 가능한 값: [environment_scope].
masked boolean 아니요 true이면 변수가 마스킹됨을 나타냅니다.
protected boolean 아니요 true이면 변수가 보호됨을 나타냅니다.
raw boolean 아니요 true이면 변수가 원시 문자열로 처리됩니다. false인 경우 변수 값이 확장됩니다. 기본값: true.
variable_type string 아니요 변수 유형. 사용 가능한 유형: env_var(기본값) 및 file.

요청 예시:

curl --request PUT \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/variables/NEW_VARIABLE" \
  --form "value=updated value"

filter를 사용한 요청 예시:

curl --request PUT \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/variables/SCOPED_VARIABLE_1" \
  --form "value=updated value" \
  --form "environment_scope=production" \
  --form "filter[environment_scope]=production"

응답 예시:

{
    "variable_type": "env_var",
    "key": "NEW_VARIABLE",
    "value": "updated value",
    "protected": true,
    "masked": false,
    "hidden": false,
    "raw": false,
    "environment_scope": "*",
    "description": "null"
}

변수 삭제#

프로젝트 변수를 삭제합니다. 동일한 키를 가진 변수가 여러 개 있는 경우 filter를 사용하여 올바른 environment_scope를 선택합니다.

DELETE /projects/:id/variables/:key
속성 유형 필수 설명
id integer or string 프로젝트의 ID 또는 URL 인코딩된 경로.
key string 변수의 키.
filter hash 아니요 여러 변수가 동일한 키를 공유할 때 결과를 필터링합니다. 가능한 값: [environment_scope].

요청 예시:

curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>"
  --url "https://gitlab.example.com/api/v4/projects/1/variables/VARIABLE_1"

filter를 사용한 요청 예시:

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

프로젝트 수준 CI/CD 변수 API

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

요약

이 API를 사용하여 프로젝트의 CI/CD 변수와 상호작용합니다. 프로젝트의 모든 변수를 나열합니다. 단일 변수의 세부 정보를 검색합니다. 새 변수를 생성합니다. 프로젝트 변수를 업데이트합니다. 프로젝트 변수를 삭제합니다.

이 API를 사용하여 프로젝트의 CI/CD 변수와 상호작용합니다.

프로젝트 변수 목록#

프로젝트의 모든 변수를 나열합니다. pageper_page 페이지네이션 매개변수를 사용하여 결과 페이지네이션을 제어합니다.

GET /projects/:id/variables
속성 유형 필수 설명
id integer or string 프로젝트의 ID 또는 URL 인코딩된 경로

요청 예시:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/variables"

응답 예시:

[
    {
        "variable_type": "env_var",
        "key": "TEST_VARIABLE_1",
        "value": "TEST_1",
        "protected": false,
        "masked": true,
        "hidden": false,
        "raw": false,
        "environment_scope": "*",
        "description": null
    },
    {
        "variable_type": "env_var",
        "key": "TEST_VARIABLE_2",
        "value": "TEST_2",
        "protected": false,
        "masked": false,
        "hidden": false,
        "raw": false,
        "environment_scope": "*",
        "description": null
    }
]

단일 변수 검색#

단일 변수의 세부 정보를 검색합니다. 동일한 키를 가진 변수가 여러 개 있는 경우 filter를 사용하여 올바른 environment_scope를 선택합니다.

GET /projects/:id/variables/:key
속성 유형 필수 설명
id integer or string 프로젝트의 ID 또는 URL 인코딩된 경로.
key string 변수의 키.
filter hash 아니요 여러 변수가 동일한 키를 공유할 때 결과를 필터링합니다. 가능한 값: [environment_scope].

요청 예시:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/variables/TEST_VARIABLE_1"

filter를 사용한 요청 예시:

curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/variables/SCOPED_VARIABLE_1" \
  --form "filter[environment_scope]=production"

응답 예시:

{
    "key": "TEST_VARIABLE_1",
    "variable_type": "env_var",
    "value": "TEST_1",
    "protected": false,
    "masked": true,
    "hidden": false,
    "raw": false,
    "environment_scope": "*",
    "description": null
}

변수 생성#

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

새 변수를 생성합니다. 동일한 key를 가진 변수가 이미 있는 경우 새 변수는 다른 environment_scope를 가져야 합니다. 그렇지 않으면 GitLab은 다음과 유사한 메시지를 반환합니다: VARIABLE_NAME has already been taken.

POST /projects/:id/variables
속성 유형 필수 설명
id integer or string 프로젝트의 ID 또는 URL 인코딩된 경로
key string 변수의 key; 255자를 초과하지 않아야 하며; A-Z, a-z, 0-9, _만 허용됨
value string 변수의 value
description string 아니요 변수 설명. 기본값: null.
environment_scope string 아니요 변수의 environment_scope. 기본값: *
masked boolean 아니요 변수가 마스킹되는지 여부. 기본값: false
masked_and_hidden boolean 아니요 변수가 마스킹되고 숨겨지는지 여부. 기본값: false
protected boolean 아니요 변수가 보호되는지 여부. 기본값: false
raw boolean 아니요 변수가 원시 문자열로 처리되는지 여부. 기본값: true. false인 경우 값의 변수가 확장됩니다.
variable_type string 아니요 변수 유형. 사용 가능한 유형: env_var(기본값) 및 file

요청 예시:

curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "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,
    "hidden": false,
    "raw": false,
    "environment_scope": "*",
    "description": null
}

변수 업데이트#

프로젝트 변수를 업데이트합니다. 동일한 키를 가진 변수가 여러 개 있는 경우 filter를 사용하여 올바른 environment_scope를 선택합니다.

PUT /projects/:id/variables/:key
속성 유형 필수 설명
id integer or string 프로젝트의 ID 또는 URL 인코딩된 경로.
key string 변수의 키.
value string 변수의 값.
description string 아니요 변수 설명. 기본값: null.
environment_scope string 아니요 변수의 환경 범위.
filter hash 아니요 여러 변수가 동일한 키를 공유할 때 결과를 필터링합니다. 가능한 값: [environment_scope].
masked boolean 아니요 true이면 변수가 마스킹됨을 나타냅니다.
protected boolean 아니요 true이면 변수가 보호됨을 나타냅니다.
raw boolean 아니요 true이면 변수가 원시 문자열로 처리됩니다. false인 경우 변수 값이 확장됩니다. 기본값: true.
variable_type string 아니요 변수 유형. 사용 가능한 유형: env_var(기본값) 및 file.

요청 예시:

curl --request PUT \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/variables/NEW_VARIABLE" \
  --form "value=updated value"

filter를 사용한 요청 예시:

curl --request PUT \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/variables/SCOPED_VARIABLE_1" \
  --form "value=updated value" \
  --form "environment_scope=production" \
  --form "filter[environment_scope]=production"

응답 예시:

{
    "variable_type": "env_var",
    "key": "NEW_VARIABLE",
    "value": "updated value",
    "protected": true,
    "masked": false,
    "hidden": false,
    "raw": false,
    "environment_scope": "*",
    "description": "null"
}

변수 삭제#

프로젝트 변수를 삭제합니다. 동일한 키를 가진 변수가 여러 개 있는 경우 filter를 사용하여 올바른 environment_scope를 선택합니다.

DELETE /projects/:id/variables/:key
속성 유형 필수 설명
id integer or string 프로젝트의 ID 또는 URL 인코딩된 경로.
key string 변수의 키.
filter hash 아니요 여러 변수가 동일한 키를 공유할 때 결과를 필터링합니다. 가능한 값: [environment_scope].

요청 예시:

curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>"
  --url "https://gitlab.example.com/api/v4/projects/1/variables/VARIABLE_1"

filter를 사용한 요청 예시:

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