배포 토큰 API
Offering: GitLab Self-Managed, GitLab Dedicated
이 API를 사용하여 배포 토큰과 상호작용합니다. GitLab 인스턴스 전체의 모든 배포 토큰을 나열합니다. 프로젝트 배포 토큰 API 엔드포인트는 프로젝트에 대한 Maintainer 또는 Owner 역할이 필요합니다.
이 API를 사용하여 배포 토큰과 상호작용합니다.
모든 배포 토큰 나열#
GitLab 인스턴스 전체의 모든 배포 토큰을 나열합니다. 이 엔드포인트는 관리자 액세스가 필요합니다.
GET /deploy_tokens
파라미터:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
active |
부울 | 아니요 | 활성 상태로 제한. |
요청 예시:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/deploy_tokens"
응답 예시:
[
{
"id": 1,
"name": "MyToken",
"username": "gitlab+deploy-token-1",
"expires_at": "2020-02-14T00:00:00.000Z",
"revoked": false,
"expired": false,
"scopes": [
"read_repository",
"read_registry"
]
}
]
프로젝트 배포 토큰#
프로젝트 배포 토큰 API 엔드포인트는 프로젝트에 대한 Maintainer 또는 Owner 역할이 필요합니다.
프로젝트 배포 토큰 나열#
프로젝트의 배포 토큰을 나열합니다.
GET /projects/:id/deploy_tokens
파라미터:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
정수 또는 문자열 | 예 | 프로젝트의 ID 또는 URL-인코딩된 경로. |
active |
부울 | 아니요 | 활성 상태로 제한. |
요청 예시:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/deploy_tokens"
응답 예시:
[
{
"id": 1,
"name": "MyToken",
"username": "gitlab+deploy-token-1",
"expires_at": "2020-02-14T00:00:00.000Z",
"revoked": false,
"expired": false,
"scopes": [
"read_repository",
"read_registry"
]
}
]
프로젝트 배포 토큰 조회#
ID로 단일 프로젝트의 배포 토큰을 조회합니다.
GET /projects/:id/deploy_tokens/:token_id
파라미터:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
정수 또는 문자열 | 예 | 프로젝트의 ID 또는 URL-인코딩된 경로. |
token_id |
정수 | 예 | 배포 토큰의 ID. |
요청 예시:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/deploy_tokens/1"
응답 예시:
{
"id": 1,
"name": "MyToken",
"username": "gitlab+deploy-token-1",
"expires_at": "2020-02-14T00:00:00.000Z",
"revoked": false,
"expired": false,
"scopes": [
"read_repository",
"read_registry"
]
}
프로젝트 배포 토큰 생성#
프로젝트 배포 토큰을 생성합니다.
POST /projects/:id/deploy_tokens
파라미터:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
정수 또는 문자열 | 예 | 프로젝트의 ID 또는 URL-인코딩된 경로. |
name |
문자열 | 예 | 새 배포 토큰의 이름. |
scopes |
문자열 배열 | 예 | 배포 토큰의 범위를 나타냅니다. read_repository, read_registry, write_registry, read_package_registry, write_package_registry, read_virtual_registry 또는 write_virtual_registry 중 하나 이상이어야 합니다. |
expires_at |
날짜/시간 | 아니요 | 배포 토큰의 만료 날짜. 값이 제공되지 않으면 만료되지 않습니다. ISO 8601 형식(2019-03-15T08:00:00Z)으로 예상됩니다. |
username |
문자열 | 아니요 | 배포 토큰의 사용자명. 기본값은 gitlab+deploy-token-{n}입니다. |
요청 예시:
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--header "Content-Type: application/json" \
--data '{"name": "My deploy token", "expires_at": "2021-01-01", "username": "custom-user", "scopes": ["read_repository"]}' \
--url "https://gitlab.example.com/api/v4/projects/5/deploy_tokens/"
응답 예시:
{
"id": 1,
"name": "My deploy token",
"username": "custom-user",
"expires_at": "2021-01-01T00:00:00.000Z",
"token": "jMRvtPNxrn3crTAGukpZ",
"revoked": false,
"expired": false,
"scopes": [
"read_repository"
]
}
프로젝트 배포 토큰 삭제#
프로젝트에서 배포 토큰을 삭제합니다.
DELETE /projects/:id/deploy_tokens/:token_id
파라미터:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
정수 또는 문자열 | 예 | 프로젝트의 ID 또는 URL-인코딩된 경로. |
token_id |
정수 | 예 | 배포 토큰의 ID. |
요청 예시:
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/5/deploy_tokens/13"
그룹 배포 토큰#
그룹에 대한 Maintainer 또는 Owner 역할의 사용자는 그룹 배포 토큰을 나열할 수 있습니다. 그룹 Owner만 그룹 배포 토큰을 생성하고 삭제할 수 있습니다.
그룹 배포 토큰 나열#
그룹의 배포 토큰을 나열합니다.
GET /groups/:id/deploy_tokens
파라미터:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
정수 또는 문자열 | 예 | 그룹의 ID 또는 URL-인코딩된 경로. |
active |
부울 | 아니요 | 활성 상태로 제한. |
요청 예시:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url"https://gitlab.example.com/api/v4/groups/1/deploy_tokens"
응답 예시:
[
{
"id": 1,
"name": "MyToken",
"username": "gitlab+deploy-token-1",
"expires_at": "2020-02-14T00:00:00.000Z",
"revoked": false,
"expired": false,
"scopes": [
"read_repository",
"read_registry"
]
}
]
그룹 배포 토큰 조회#
ID로 단일 그룹의 배포 토큰을 조회합니다.
GET /groups/:id/deploy_tokens/:token_id
파라미터:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
정수 또는 문자열 | 예 | 그룹의 ID 또는 URL-인코딩된 경로. |
token_id |
정수 | 예 | 배포 토큰의 ID. |
요청 예시:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/1/deploy_tokens/1"
응답 예시:
{
"id": 1,
"name": "MyToken",
"username": "gitlab+deploy-token-1",
"expires_at": "2020-02-14T00:00:00.000Z",
"revoked": false,
"expired": false,
"scopes": [
"read_repository",
"read_registry"
]
}
그룹 배포 토큰 생성#
그룹 배포 토큰을 생성합니다.
POST /groups/:id/deploy_tokens
파라미터:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
정수 또는 문자열 | 예 | 그룹의 ID 또는 URL-인코딩된 경로. |
name |
문자열 | 예 | 새 배포 토큰의 이름. |
scopes |
문자열 배열 | 예 | 배포 토큰의 범위를 나타냅니다. read_repository, read_registry, write_registry, read_package_registry 또는 write_package_registry 중 하나 이상이어야 합니다. |
expires_at |
날짜/시간 | 아니요 | 배포 토큰의 만료 날짜. 값이 제공되지 않으면 만료되지 않습니다. ISO 8601 형식(2019-03-15T08:00:00Z)으로 예상됩니다. |
username |
문자열 | 아니요 | 배포 토큰의 사용자명. 기본값은 gitlab+deploy-token-{n}입니다. |
요청 예시:
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--header "Content-Type: application/json" \
--data '{"name": "My deploy token", "expires_at": "2021-01-01", "username": "custom-user", "scopes": ["read_repository"]}' \
--url "https://gitlab.example.com/api/v4/groups/5/deploy_tokens/"
응답 예시:
{
"id": 1,
"name": "My deploy token",
"username": "custom-user",
"expires_at": "2021-01-01T00:00:00.000Z",
"token": "jMRvtPNxrn3crTAGukpZ",
"revoked": false,
"expired": false,
"scopes": [
"read_registry"
]
}
그룹 배포 토큰 삭제#
그룹에서 배포 토큰을 삭제합니다.
DELETE /groups/:id/deploy_tokens/:token_id
파라미터:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
정수 또는 문자열 | 예 | 그룹의 ID 또는 URL-인코딩된 경로. |
token_id |
정수 | 예 | 배포 토큰의 ID. |
요청 예시:
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/5/deploy_tokens/13"
