InfoGrab Docs

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

요약

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

히스토리
  • GitLab 16.9에서 filter가 도입되었습니다.

이 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. GitLab 16.2에서 도입.
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 아니요 변수 설명. GitLab 16.2에서 도입. 기본값: 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

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

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

히스토리
  • GitLab 16.9에서 filter가 도입되었습니다.

이 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. GitLab 16.2에서 도입.
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 아니요 변수 설명. GitLab 16.2에서 도입. 기본값: 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"