> ## Documentation Index
> Fetch the complete documentation index at: https://docs.octopoda.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Scan every pull request with Octopoda checks

> Turn on Octopoda pull request checks to scan each change on GitHub, post one summary comment, and fail the check when a serious finding is proven.

With pull request checks on, Octopoda scans the changes in each pull request on GitHub and reports back on the pull request itself: a check that passes or fails, and one comment listing what it proved. Each pull request scan uses 1 credit and runs for up to 20 minutes.

## Turn on pull request checks

**1. Install the GitHub App**

Install the [Octopoda GitHub App](https://docs.octopoda.dev/integrations/github-app.md) and choose the repositories it may read.

**2. Check the repository settings**

Pull request checks are on by default for new repositories. To change them, open **Repositories** in the web app and expand a repository. Owners and admins can change:

* **Scan every pull request**: on or off for this repository.
* **Fail the check at**: the lowest severity that fails the check. The default is **High and above**.

**3. Open a pull request**

The next time a pull request is opened, gets a new push, is reopened or is marked ready for review, Octopoda starts a scan. Draft pull requests are skipped until they are ready for review.

## What you see on the pull request

* **A check run** named after Octopoda. While the scan runs, the check is in progress. When it finishes, it passes or fails based on your threshold, with a link to the scan.
* **One comment** with the result and a table of up to 20 findings, most severe first, each linking to its page in the web app. On later pushes, Octopoda updates the same comment instead of adding new ones.

A new push to the same pull request cancels the scan of the previous push, so only the latest code is checked.

## Choose when the check fails

The check fails when the scan proves at least one finding at or above the severity you choose. With **Never**, the check always passes and the findings are still reported. Try it:

Fail the check at

## When a pull request is not scanned

| What you see | Why | What to do |
| - | - | - |
| Neutral check: **Not scanned** | The account has no credits left, no plan, or a failed payment. | Fix it on the **Billing** page, then push again. |
| Neutral check: **Scan could not finish** | The scan failed. If it failed on our side, the credit is refunded. | Push again. |
| Cancelled check | A newer push replaced this scan. | Nothing; the newer push is being scanned. |
| No check at all | Checks are off for the repository, the pull request is a draft, or the app cannot read the repository. | See [Troubleshooting](https://docs.octopoda.dev/help/troubleshooting.md#a-pull-request-was-not-scanned). |

> [!NOTE]
>
> Re-running the check from GitHub does not start a new scan. To scan again, push a commit to the pull request.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.