PR Cycle Time is the sum of PR Coding Time, Pickup TIme, Review Time and Deploy Time. It is the total time from the first commit to when the PR is deployed.
PR Cycle Time indicates the overall velocity of the delivery progress in terms of PR.
You can define deployment based on your actual practice. For a full list of deployment's definitions that DevLake support, please refer to Deployment Frequency.
Data Sources Required
This metric relies on PRs/MRs collected from GitHub, GitLab, BitBucket, Gitee or other code review tools.
Data Transformation Required
N/A
SQL Queries
The following SQL shows how to find the cycle time of a specific PR. DevLake pre-calculates the metric and stores it in table.project_pr_metrics.
SELECT pr_cycle_time/60 as 'PR Cycle Time(h)' FROM project_pr_metrics
If you want to measure the monthly trend of PR cycle time in the screenshot below, please run the following SQL in Grafana.
SELECT DATE_ADD(date(pr.created_date), INTERVAL -DAY(date(pr.created_date))+1 DAY) as time, avg(ppm.pr_cycle_time)/60 as 'PR Cycle Time(h)' FROM pull_requests pr JOIN project_pr_metrics ppm ON pr.id = ppm.id GROUP BY 1 ORDER BY 1