Skip to main content

Reviews > State

Tom Williams avatar
Written by Tom Williams
Updated this week

Dataset: Reviews from pull requests

Entity: Pull Request Review

Field ID: state

Type: Select list

Description: The state of the review

  • APPROVED the review approves the changes made in the pull request

  • CHANGES_REQUESTED the review requests some changes to the pull request (GitHub/Bitbucket).

  • COMMENTED the review is informational and does not intend to approve nor reject the pull request (GitHub only).

  • DISMISSED the review has been dismissed and is no longer applicable (GitHub only).

  • PENDING the review is in progress but has not been submitted yet (GitHub only).

Source: App

From:

Github (Reviews)

state

  • ​APPROVED => APPROVED

  • CHANGES_REQUESTED => CHANGES_REQUESTED

  • COMMENTED => COMMENTED

  • DISMISSED => DISMISSED

  • PENDING => PENDING

Gitlab (MRs)

Parse approval and changes requested event messages.

Bitbucket (PRs)

pull_request.participants.*.state

  • approved => APPROVED

  • changes_requested => CHANGES_REQUESTED

Azure DevOps (PR Threads)

properties.CodeReviewVoteResult.$value

  • 10 => APPROVED

  • 5 => APPROVED

  • -5 => COMMENTED

  • -10 => CHANGES_REQUESTED

Jira

N/A

ClickUp

N/A

Trello

N/A

Reporting Use Cases

The State field from the Reviews dataset is a critical attribute that captures the outcome of an individual review (e.g., APPROVED, CHANGES_REQUESTED). It is the primary tool for analyzing the nature of feedback, understanding reviewer behavior, and auditing your team's code review process.

  • Filtering by Review Outcome: You can create highly specific reports by filtering on the state of the reviews.

    • Find All Rejections: To see a list of all reviews where changes were requested, you can use a filter like State = "CHANGES_REQUESTED". This can help you identify PRs that required rework.

    • Track Approvals: To get a list of all approving reviews, you can filter where State = "APPROVED".

  • Reporting on Feedback Patterns: Using state as a dimension is the most effective way to understand the type of feedback your team provides.

    • Review Distribution: A pie chart with State as the dimension and COUNT() as the metric will show you the proportion of reviews that are approvals, rejections, or simple comments. A high percentage of CHANGES_REQUESTED might indicate issues with initial code quality, while a very high percentage of APPROVED could suggest a less critical review culture.

    • Feedback by Reviewer: A stacked bar chart with Author as one dimension and state as the second will show you the feedback patterns of each individual reviewer, highlighting who tends to approve versus who is more likely to request changes.

  • Custom Formulas for Advanced KPIs: You can use this field to create metrics that measure the efficiency of your review process.

    • Approval Rate: You can calculate the overall approval rate with a custom formula like ROUND(COUNT_IF(state == "APPROVED") / COUNT() * 100, 2).

Did this answer your question?