DevOps Research and Assessment (DORA) 주요 메트릭 API

Tier: Ultimate

Offering: GitLab.com, Self-managed, GitLab Dedicated

DORA 메트릭스GraphQL API로도 조회할 수 있습니다.

모든 메서드는 최소한 Reporter 역할이 필요합니다.

프로젝트 수준 DORA 메트릭 가져오기

프로젝트 수준 DORA 메트릭을 가져옵니다.

GET /projects/:id/dora/metrics
속성 유형 필수 설명
id integer/string 인증된 사용자가 접근할 수 있는 프로젝트의 ID 또는 URL-encoded 경로입니다.
metric string deployment_frequency, lead_time_for_changes, time_to_restore_service 또는 change_failure_rate 중 하나입니다.
end_date string 아니요 종료할 날짜 범위입니다. ISO 8601 날짜 형식, 예: 2021-03-01. 기본값은 현재 날짜입니다.
environment_tiers 문자열 배열 아니요 환경의 티어입니다. 기본값은 production입니다.
interval string 아니요 버킷 간격입니다. all, monthly 또는 daily 중 하나입니다. 기본값은 daily입니다.
start_date string 아니요 시작할 날짜 범위입니다. 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 integer/string 인증된 사용자가 접근할 수 있는 프로젝트의 ID 또는 URL-encoded 경로입니다.
metric string deployment_frequency, lead_time_for_changes, time_to_restore_service 또는 change_failure_rate 중 하나입니다.
end_date string 아니요 종료할 날짜 범위입니다. ISO 8601 날짜 형식, 예: 2021-03-01. 기본은 현재 날짜입니다.
environment_tiers 문자열 배열 아니요 환경의 티어입니다. 기본값은 production입니다.
interval string 아니요 버킷 간격입니다. all, monthly 또는 daily 중 하나입니다. 기본값은 daily입니다.
start_date string 아니요 시작할 날짜 범위입니다. 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는 일일 중간 값의 중앙값을 계산하여 monthlyall 간격을 반환합니다. 이는 반환된 데이터에 약간의 부정확성을 초래할 수 있습니다.