Dataset: Issues & Pull Requests
Entity: Pull Requests, Issues
Field ID: first_review_created_at
Type: Datetime
Description: The datetime at which the first submitted pull request review was created. For issues, the timestamp is evaluated from resolving pull requests.
Source: Calculated from pull request reviews
Transformation logic:
Pull requests: It is the creation datetime of the first submitted pull request review. This means that draft reviews (GitHub only) will be ignored. Only GitHub allows reviews to be started and finished later. GitLab and Bitbucket consider reviews as instant, meaning that
first_review_created_atandfirst_review_submitted_atwill always be equal.Issues: It is the creation datetime of the oldest pull request review across all resolving pull requests. Resolving pull requests are pull requests that reference the issue via auto-closing keywords.
From: |
|
Github (PRs, Issues) | Calculated |
Gitlab (PRs, Issues) | Calculated |
Bitbucket (PRs) | Calculated |
Azure DevOps (PRs, Issues) | Calculated |
JIRA (Issues) | Inferred from PRs |
ClickUp (Issues) | Inferred from PRs |
Trello (Issues) | Inferred from PRs |
Reporting Use Cases
The First Review Created At field is a timestamp that marks the moment a reviewer begins their review (GitHub) or submits it (Bitbucket, GitLab, Azure DevOps). This makes it an invaluable tool for accurately measuring the efficiency of your code review process.
Calculating Pull Request Idle Time: This field's primary use case is to precisely measure the time a pull request waits before a reviewer starts working on it.
You can calculate this "idle time" or "time to start review" with the custom formula
(first_review_created_at - review_requested_at) / HOUR(). A high average for this metric is a strong indicator of a bottleneck, suggesting that reviewers are either overloaded or not picking up new requests in a timely manner.
Measuring Active Review Duration: By combining this field with the submission timestamp, you can isolate and measure the time a reviewer actively spends on their review.
The formula
(first_review_submitted_at - first_review_created_at) / HOUR()calculates the duration from when a review was started until it was submitted. Analyzing this can help you understand how pull request size or complexity impacts the time required for a thorough review.
Filtering for Stalled Pull Requests: You can create reports to identify pull requests that have been requested for review but haven't been started yet.
Use a filter where
Review Requested At is not null and First Review Created At is nullto build a list of all pull requests that are currently waiting to be picked up by a reviewer, allowing you to unblock your pipeline proactively.
