1
0
mirror of synced 2025-12-19 18:10:59 -05:00
Files
docs/content/copilot/concepts/agents/code-review.md
2025-11-25 11:03:37 +00:00

12 KiB

title, shortTitle, allowTitleToDifferFromFilename, intro, versions, topics, redirect_from, contentType, category
title shortTitle allowTitleToDifferFromFilename intro versions topics redirect_from contentType category
About GitHub Copilot code review Code review true Find out how {% data variables.product.prodname_copilot_short %} can review pull requests for you.
feature
copilot
Copilot
/copilot/code-review
/copilot/concepts/code-review/code-review
/copilot/concepts/code-review
concepts
Learn about Copilot

Introduction

{% data variables.product.prodname_copilot %} can review your code and provide feedback. Where possible, {% data variables.product.prodname_copilot_short %}'s feedback includes suggested changes which you can apply with a couple of clicks.

{% data variables.product.prodname_copilot_short %} can review code written in any programming language.

{% data variables.copilot.copilot_code-review_short %} acts as an intelligent agent, reviewing your code from various angles—such as planning, customizing, and deduplicating—to systematically uncover insights, identify issues, and suggest fixes.

This article provides an overview of {% data variables.copilot.copilot_code-review_short %}. For instructions on how to request a code review from {% data variables.product.prodname_copilot_short %}, see AUTOTITLE.

Availability

{% data variables.copilot.copilot_code-review_short %} is supported in:

  • {% data variables.product.prodname_dotcom_the_website %}
  • {% data variables.product.prodname_mobile %}
  • {% data variables.product.prodname_vscode_shortname %}
  • {% data variables.product.prodname_vs %}
  • Xcode
  • JetBrains IDEs

{% data variables.copilot.copilot_code-review_short %} is a premium feature, available with the {% data variables.copilot.copilot_pro_short %}, {% data variables.copilot.copilot_pro_plus_short %}, {% data variables.copilot.copilot_business_short %}, and {% data variables.copilot.copilot_enterprise_short %} plans. See Copilot plans.

If you receive {% data variables.product.prodname_copilot_short %} from an organization then, to be able to request a pull request review from {% data variables.product.prodname_copilot_short %} on {% data variables.product.prodname_dotcom_the_website %} or in {% data variables.product.prodname_mobile %}, the {% data variables.copilot.copilot_code-review_short %} option must be enabled in the {% data variables.product.prodname_copilot_short %} policy settings for the organization. See AUTOTITLE.

Excluded files

Dependency management files (such as package.json and Gemfile.lock) and certain other types of files (such as log files and SVGs) are excluded from {% data variables.copilot.copilot_code-review_short %}. If you include any of these files in a pull request, {% data variables.copilot.copilot_code-review_short %} will not consider the file when carrying out the review. Similarly, using {% data variables.copilot.copilot_code-review_short %} on one of these files in your IDE, will not generate review comments.

For more information, see AUTOTITLE.

{% data variables.copilot.copilot_code-review-tools-preview_cap %}

Note

  • The AUTOTITLE apply to your use of this product.
  • These tools are enabled automatically for {% data variables.copilot.copilot_pro %} or {% data variables.copilot.copilot_pro_plus %} plans.
  • If you get a {% data variables.product.prodname_copilot_short %} subscription from an organization, you will only be able to participate in the {% data variables.release-phases.public_preview %} on the {% data variables.product.github %} website if an owner of your organization or enterprise has enabled Copilot in GitHub.com > Opt in to preview features in the {% data variables.product.prodname_copilot %} policies page of the organization or enterprise settings. See AUTOTITLE and AUTOTITLE.

{% data variables.copilot.copilot_code-review_short %} has several new tools that are in {% data variables.release-phases.public_preview %} and subject to change.

  • Full project context gathering to provide more specific, accurate, and contextually aware code reviews.
  • Support for static analysis tools like {% data variables.product.prodname_codeql %}, ESLint, and PMD to deliver more high-signal, consistent findings for security and quality.
  • The ability to pass suggestions to {% data variables.copilot.copilot_coding_agent %}, for automated creation of a new pull request against your branch with the suggested fixes applied.

You are not required to have {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_actions %} enabled in your organization or enterprise to use the {% data variables.copilot.copilot_code-review-tools_short %}.

In the event that {% data variables.product.prodname_actions %} is unavailable or if Actions workflows used by {% data variables.copilot.copilot_code-review_short %} fail, reviews will still be generated but without the additional features provided by the {% data variables.copilot.copilot_code-review-tools_short %}.

Note

The {% data variables.release-phases.public_preview %} includes free actions minutes for the {% data variables.copilot.copilot_code-review-tools_short %}.

Usage charges will apply when the feature becomes generally available.

Code review monthly quota

Each time {% data variables.product.prodname_copilot_short %} reviews a pull request, or reviews code in your IDE, your monthly quota of Copilot premium requests is reduced by one.

If a repository is configured to automatically request a code review from {% data variables.product.prodname_copilot_short %} for all new pull requests, the premium request usage is applied to the quota of the pull request author. If a pull request is created by {% data variables.product.prodname_actions %} or by a bot, the usage will apply to the user who triggered the workflow (if identifiable), or to a designated billing owner.

When you reach your monthly quota you will not be able to get a code review from {% data variables.product.prodname_copilot_short %} until your quota resets—unless you upgrade your {% data variables.product.prodname_copilot_short %} plan or enable additional premium requests.

Model usage

{% data reusables.copilot.ccr-model-usage %}

{% data reusables.copilot.ccr-model-settings %}

Providing instructions for {% data variables.product.prodname_copilot_short %} code reviews

You can tailor the reviews that {% data variables.product.prodname_copilot_short %} generates by providing custom instructions. This helps {% data variables.product.prodname_copilot_short %} to review the code in a way that matches your team's coding standards, tools, and practices. See AUTOTITLE and AUTOTITLE.

Validating {% data variables.product.prodname_copilot_short %} code reviews

{% data variables.product.prodname_copilot_short %} isn't guaranteed to spot all problems or issues in a pull request, and sometimes it will make mistakes. Always validate {% data variables.product.prodname_copilot_short %}'s feedback carefully, and supplement {% data variables.product.prodname_copilot_short %}'s feedback with a human review.

For more information, see AUTOTITLE.

About automatic pull request reviews

By default, {% data variables.product.prodname_copilot_short %} will only review a pull request if it's assigned to the pull request in the same way you would assign a human reviewer. However:

  • Individual users on the {% data variables.copilot.copilot_pro_short %} or {% data variables.copilot.copilot_pro_plus_short %} plan can configure {% data variables.product.prodname_copilot_short %} to automatically review all pull requests they create.
  • Repository owners can configure {% data variables.product.prodname_copilot_short %} to automatically review all pull requests in the repository that are created by people with access to {% data variables.product.prodname_copilot_short %}.
  • Organization owners can configure {% data variables.product.prodname_copilot_short %} to automatically review all pull requests in some or all of the repositories in the organization where the pull request is created by a {% data variables.product.prodname_copilot_short %} user.

Triggering an automatic pull request review

The triggers for automatic code review depend on the configuration settings:

  • Basic setting:
    • When a pull request is created as an "Open" pull request.
    • The first time a "Draft" pull request is switched to "Open".
  • Review new pushes:
    • Every time a new commit is pushed to the pull request.
  • Review draft pull requests:
    • Pull requests are automatically reviewed while they are still drafts—before being switched to "Open".

Note

Unless {% data variables.product.prodname_copilot_short %} has been configured to review each push to a pull request, it will only review the pull request once. If you make changes to the pull request after it has been automatically reviewed and you want {% data variables.product.prodname_copilot_short %} to re-review the pull request, you can request this manually. To do this, click the {% octicon "sync" aria-label="Re-request review" %} button next to {% data variables.product.prodname_copilot_short %}'s name in the Reviewers menu.

Limits on automatic pull request reviews

{% data variables.copilot.copilot_code-review_short %} is a premium feature with a per-person monthly quota. When {% data variables.product.prodname_copilot_short %} carries out an automatic review, it uses one premium request from the quota of the user who created the pull request. For more information, see AUTOTITLE.

Configuring automatic pull request reviews

For details of how to configure {% data variables.product.prodname_copilot_short %} to automatically review new pull requests, see AUTOTITLE.

About static analysis tools

You can enable static analysis tools in {% data variables.copilot.copilot_code-review_short %} to enhance its ability to identify and fix issues. Available tools include:

  • {% data variables.product.prodname_codeql %}: A code analysis engine that identifies security vulnerabilities. For more information, see About {% data variables.product.prodname_codeql %}.
  • ESLint: A linter designed specifically for JavaScript. For more information, see Core Concepts in the the ESLint documentation.
  • PMD: A static code analyzer that focuses on Java and Apex, but also supports many other languages. For more information, see the PMD documentation.

If you have access to {% data variables.copilot.copilot_code-review-tools_short %}, {% data variables.product.prodname_codeql %} is enabled by default, while ESLint and PMD are disabled. Additionally, if you have access to rulesets, you can change your selected tools. See AUTOTITLE.

Getting detailed code quality feedback for your whole repository

{% data variables.copilot.copilot_code-review %} reviews your code in pull requests and provides feedback. If you want to surface actionable feedback on the reliability and maintainability of your whole repository, enable {% data variables.product.prodname_code_quality %}. See AUTOTITLE.

Further reading