Skip to main content

Issues and PRs > First review created at

Tom Williams avatar
Written by Tom Williams
Updated over a week ago

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_at and first_review_submitted_at will 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 null to 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.

Did this answer your question?