DevOps Research and Assessment (DORA) 메트릭 API
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
이 API를 사용하여 그룹 및 프로젝트에 대한 DORA 메트릭 세부 정보를 조회합니다. 추가 엔드포인트는 GraphQL API에서 사용할 수 있습니다. 지정된 프로젝트의 DORA 메트릭을 조회합니다. 지정된 그룹의 DORA 메트릭을 조회합니다.
이 API를 사용하여 그룹 및 프로젝트에 대한 DORA 메트릭 세부 정보를 조회합니다.
추가 엔드포인트는 GraphQL API에서 사용할 수 있습니다.
사전 요구 사항:
- Reporter, Developer, Maintainer 또는 Owner 권한이 있어야 합니다.
프로젝트 수준 DORA 메트릭 조회#
지정된 프로젝트의 DORA 메트릭을 조회합니다.
GET /projects/:id/dora/metrics
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
정수 또는 문자열 | 예 | 인증된 사용자가 액세스할 수 있는 프로젝트의 ID 또는 URL 인코딩된 경로. |
metric |
문자열 | 예 | deployment_frequency, lead_time_for_changes, time_to_restore_service 또는 change_failure_rate 중 하나. |
end_date |
문자열 | 아니요 | 날짜 범위의 종료 날짜. ISO 8601 날짜 형식(예: 2021-03-01). 기본값은 현재 날짜. |
environment_tiers |
문자열 배열 | 아니요 | 환경의 계층. 기본값은 production. |
interval |
문자열 | 아니요 | 버킷팅 간격. all, monthly 또는 daily 중 하나. 기본값은 daily. |
start_date |
문자열 | 아니요 | 날짜 범위의 시작 날짜. ISO 8601 날짜 형식(예: 2021-03-01). 기본값은 3개월 전. |
요청 예시:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/dora/metrics?metric=deployment_frequency"
응답 예시:
[
{ "date": "2021-03-01", "value": 3 },
{ "date": "2021-03-02", "value": 6 },
{ "date": "2021-03-03", "value": 0 },
{ "date": "2021-03-04", "value": 0 },
{ "date": "2021-03-05", "value": 0 },
{ "date": "2021-03-06", "value": 0 },
{ "date": "2021-03-07", "value": 0 },
{ "date": "2021-03-08", "value": 4 }
]
그룹 수준 DORA 메트릭 조회#
지정된 그룹의 DORA 메트릭을 조회합니다.
GET /groups/:id/dora/metrics
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
정수 또는 문자열 | 예 | 인증된 사용자가 액세스할 수 있는 프로젝트의 ID 또는 URL 인코딩된 경로. |
metric |
문자열 | 예 | deployment_frequency, lead_time_for_changes, time_to_restore_service 또는 change_failure_rate 중 하나. |
end_date |
문자열 | 아니요 | 날짜 범위의 종료 날짜. ISO 8601 날짜 형식(예: 2021-03-01). 기본값은 현재 날짜. |
environment_tiers |
문자열 배열 | 아니요 | 환경의 계층. 기본값은 production. |
interval |
문자열 | 아니요 | 버킷팅 간격. all, monthly 또는 daily 중 하나. 기본값은 daily. |
start_date |
문자열 | 아니요 | 날짜 범위의 시작 날짜. ISO 8601 날짜 형식(예: 2021-03-01). 기본값은 3개월 전. |
요청 예시:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/dora/metrics?metric=deployment_frequency"
응답 예시:
[
{ "date": "2021-03-01", "value": 3 },
{ "date": "2021-03-02", "value": 6 },
{ "date": "2021-03-03", "value": 0 },
{ "date": "2021-03-04", "value": 0 },
{ "date": "2021-03-05", "value": 0 },
{ "date": "2021-03-06", "value": 0 },
{ "date": "2021-03-07", "value": 0 },
{ "date": "2021-03-08", "value": 4 }
]
value 필드#
이전에 설명된 프로젝트 및 그룹 수준 엔드포인트 모두에서 API 응답의 value 필드는 제공된 metric 쿼리 매개변수에 따라 다른 의미를 가집니다:
metric 쿼리 매개변수 |
응답에서 value의 설명 |
|---|---|
deployment_frequency |
API는 기간 동안 성공적인 배포의 총 수를 반환합니다. 이슈 371271은 API를 업데이트하여 총 수 대신 일일 평균을 반환하도록 제안합니다. |
change_failure_rate |
기간 동안 배포 수로 나눈 인시던트 수. 프로덕션 환경에서만 사용 가능합니다. |
lead_time_for_changes |
기간 동안 배포된 모든 MR에 대해 머지 리퀘스트(MR)의 머지와 MR 커밋 배포 사이의 중앙값 초 수. |
time_to_restore_service |
기간 동안 인시던트가 열려 있었던 중앙값 초 수. 프로덕션 환경에서만 사용 가능합니다. |
API는 일일 중앙값의 중앙값을 계산하여 monthly 및 all 간격을 반환합니다. 이로 인해 반환된 데이터에 약간의 부정확성이 발생할 수 있습니다.
