Skip to main content

Issues and PRs > Review state

Tom Williams avatar
Written by Tom Williams
Updated over 3 weeks ago

Dataset: Issues & Pull Requests

Entity: Pull Requests

Field ID: review_state

Type: Select list

Description: The state of the pull request review. Possible values are:

  • APPROVED the pull request is approved by all participating reviewers

  • CHANGES_REQUESTED one of the reviewers has requested changes

  • NONE there are no reviews in progress

  • PENDING some required reviews are still pending approval/rejection

Source: Calculated

Transformation logic:

  • Pull requests:

    • No assigned reviewers => NONE

    • One review is requesting changes => CHANGES_REQUESTED

    • The number of approving reviews is less than the required approval count => PENDING

    • The number of approving reviews is greater than or equal to the required approval count => APPROVED

  • Issues: this field is always null

From:

Github (PRs)

Calculated

Gitlab (PRs)

Calculated

Bitbucket (PRs)

Calculated

Azure DevOps (PRs, Issues)

Calculated

JIRA (Issues)

N/A

ClickUp (Issues)

N/A

Trello (Issues)

N/A

Reporting Use Cases

The Review State field provides a real-time, high-level summary of a pull request's status in the review process, making it one of the most important fields for building actionable dashboards, managing workflow, and identifying bottlenecks.

  • Filtering for Actionable Work Queues: This field's primary use is to filter and segment pull requests into clear, actionable queues, which is the foundation of many Kanban-style boards.

    • "To Review" Queue: Create a list for reviewers by filtering where Review State = "PENDING".

    • "Needs Rework" Queue: Build a list for developers of all PRs that require changes by filtering where Review State = "CHANGES_REQUESTED".

    • "Ready to Merge" Queue: Identify pull requests that are ready for the final deployment step by combining filters where Review State = "APPROVED" and Build Status = "SUCCESS".

  • Reporting on Pipeline Health: Using review_state as a dimension gives you a powerful, at-a-glance overview of your entire review pipeline.

    • A pie chart with Review State as the dimension and COUNT() as the metric will instantly show the distribution of your open pull requests. A large slice for PENDING or CHANGES_REQUESTED is a clear indicator of a bottleneck.

  • Creating Advanced KPIs: You can use this field within custom formulas to track the health of your review process over time.

    • Changes Requested Rate: Monitor the percentage of open pull requests that are currently blocked and waiting for rework with a custom formula like ROUND(COUNT_IF(review_state == "CHANGES_REQUESTED") / COUNT() * 100, 2). A rising trend in this metric can signal issues with initial code quality or unclear requirements.

Did this answer your question?