라이선스 API
Offering: GitLab Self-Managed, GitLab Dedicated
이 API를 사용하여 라이선스 엔드포인트와 상호 작용합니다. 현재 라이선스에 대한 정보를 가져옵니다. 모든 라이선스에 대한 정보를 나열합니다. 초과분은 청구 가능한 사용자 수와 라이선스된 사용자 수 사이의 차이입니다. 지정된 라이선스에 대한 정보를 가져옵니다.
이 API를 사용하여 라이선스 엔드포인트와 상호 작용합니다. 자세한 내용은 라이선스 파일 또는 키로 GitLab EE 활성화를 참조하세요.
사전 요구 사항:
- 인스턴스에 대한 관리자 접근 권한이 있어야 합니다.
라이선스 정보 가져오기#
현재 라이선스에 대한 정보를 가져옵니다.
GET /license
{
"id": 2,
"plan": "ultimate",
"created_at": "2018-02-27T23:21:58.674Z",
"starts_at": "2018-01-27",
"expires_at": "2022-01-27",
"historical_max": 300,
"maximum_user_count": 300,
"expired": false,
"overage": 200,
"user_limit": 100,
"active_users": 300,
"licensee": {
"Name": "John Doe1",
"Email": "johndoe1@gitlab.com",
"Company": "GitLab"
},
"add_ons": {
"GitLab_FileLocks": 1,
"GitLab_Auditor_User": 1
}
}
모든 라이선스 목록#
모든 라이선스에 대한 정보를 나열합니다.
GET /licenses
[
{
"id": 1,
"plan": "premium",
"created_at": "2018-02-27T23:21:58.674Z",
"starts_at": "2018-01-27",
"expires_at": "2022-01-27",
"historical_max": 300,
"maximum_user_count": 300,
"expired": false,
"overage": 200,
"user_limit": 100,
"licensee": {
"Name": "John Doe1",
"Email": "johndoe1@gitlab.com",
"Company": "GitLab"
},
"add_ons": {
"GitLab_FileLocks": 1,
"GitLab_Auditor_User": 1
}
},
{
"id": 2,
"plan": "ultimate",
"created_at": "2018-02-27T23:21:58.674Z",
"starts_at": "2018-01-27",
"expires_at": "2022-01-27",
"historical_max": 300,
"maximum_user_count": 300,
"expired": false,
"overage": 200,
"user_limit": 100,
"licensee": {
"Name": "Doe John",
"Email": "doejohn@gitlab.com",
"Company": "GitLab"
},
"add_ons": {
"GitLab_FileLocks": 1
}
}
]
초과분은 청구 가능한 사용자 수와 라이선스된 사용자 수 사이의 차이입니다. 이는 라이선스 만료 여부에 따라 다르게 계산됩니다.
- 라이선스가 만료된 경우 기록 최대 청구 가능 사용자 수 (
historical_max)를 사용합니다. - 라이선스가 만료되지 않은 경우 현재 청구 가능 사용자 수를 사용합니다.
반환 값:
200 OK: JSON 형식의 라이선스가 포함된 응답. 라이선스가 없으면 빈 JSON 배열입니다.403 Forbidden: 현재 사용자가 라이선스를 읽을 권한이 없는 경우.
라이선스 가져오기#
지정된 라이선스에 대한 정보를 가져옵니다.
GET /license/:id
지원되는 속성:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer | yes | GitLab 라이선스 ID. |
반환되는 상태 코드:
200 OK: 응답에 JSON 형식의 라이선스가 포함됩니다.404 Not Found: 요청된 라이선스가 없습니다.403 Forbidden: 현재 사용자가 라이선스를 읽을 권한이 없습니다.
요청 예시:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/license/:id"
응답 예시:
{
"id": 1,
"plan": "premium",
"created_at": "2018-02-27T23:21:58.674Z",
"starts_at": "2018-01-27",
"expires_at": "2022-01-27",
"historical_max": 300,
"maximum_user_count": 300,
"expired": false,
"overage": 200,
"user_limit": 100,
"active_users": 50,
"licensee": {
"Name": "John Doe1",
"Email": "johndoe1@gitlab.com",
"Company": "GitLab"
},
"add_ons": {
"GitLab_FileLocks": 1,
"GitLab_Auditor_User": 1
}
}
라이선스 만들기#
새 라이선스를 만듭니다.
POST /license
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
license |
string | yes | 라이선스 문자열 |
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/license?license=eyJkYXRhIjoiMHM5Q...S01Udz09XG4ifQ=="
응답 예시:
{
"id": 1,
"plan": "ultimate",
"created_at": "2018-02-27T23:21:58.674Z",
"starts_at": "2018-01-27",
"expires_at": "2022-01-27",
"historical_max": 300,
"maximum_user_count": 300,
"expired": false,
"overage": 200,
"user_limit": 100,
"active_users": 300,
"licensee": {
"Name": "John Doe1",
"Email": "johndoe1@gitlab.com",
"Company": "GitLab"
},
"add_ons": {
"GitLab_FileLocks": 1,
"GitLab_Auditor_User": 1
}
}
반환 값:
201 Created: 라이선스가 성공적으로 추가된 경우.400 Bad Request: 라이선스를 추가할 수 없는 경우, 이유를 설명하는 오류 메시지 포함.
라이선스 삭제#
지정된 라이선스를 삭제합니다.
DELETE /license/:id
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer | yes | GitLab 라이선스 ID. |
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/license/:id"
반환 값:
204 No Content: 라이선스가 성공적으로 삭제된 경우.403 Forbidden: 현재 사용자가 라이선스를 삭제할 권한이 없는 경우.404 Not Found: 삭제할 라이선스를 찾을 수 없는 경우.
청구 가능한 사용자 재계산 트리거#
지정된 라이선스에 대한 청구 가능한 사용자 재계산을 트리거합니다.
PUT /license/:id/refresh_billable_users
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer | yes | GitLab 라이선스 ID. |
curl --request PUT \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/license/:id/refresh_billable_users"
응답 예시:
{
"success": true
}
반환 값:
202 Accepted: 청구 가능한 사용자 갱신 요청이 성공적으로 시작된 경우.403 Forbidden: 현재 사용자가 라이선스의 청구 가능한 사용자를 갱신할 권한이 없는 경우.404 Not Found: 라이선스를 찾을 수 없는 경우.
| 속성 | 유형 | 설명 |
|---|---|---|
success |
boolean | 요청 성공 여부. |
라이선스 사용 정보 가져오기#
현재 라이선스에 대한 사용 정보를 가져오고 CSV 형식으로 내보냅니다.
GET /license/usage_export.csv
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/license/usage_export.csv"
응답 예시:
License Key,"eyJkYXRhIjoib1EwRWZXU3RobDY2Yl=
"
Email,user@example.com
License Start Date,2023-02-22
License End Date,2024-02-22
Company,Example Corp.
Generated At,2023-09-05 06:56:23
"",""
Date,Billable User Count
2023-07-11 12:00:05,21
2023-07-13 12:00:06,21
2023-08-16 12:00:02,21
2023-09-04 12:00:12,21
반환 값:
200 OK: 응답에 CSV 형식의 라이선스 사용 정보가 포함됩니다.403 Forbidden: 현재 사용자가 라이선스 사용 정보를 볼 권한이 없는 경우.
