Step 9 of 15

Get your first review

Open a merge request and watch Pullwise review it. What the review comment contains, how it updates on each push, and what happens with large diffs.

4 min For everyoneUpdated

1. Open a merge request

In a repository with the Pullwise webhook, open a merge request (or pull request). For a first test, pick a small, real change of 20 to 200 lines. That’s big enough to get meaningful findings and quick to review.

Already have an open merge request? Push a new commit to it. That triggers a review too.

2. Wait a moment

Behind the scenes Pullwise:

  1. Receives the webhook and checks its secret.
  2. Fetches the diff, title and description with your access token.
  3. Masks anything that looks like a secret (API keys, tokens, passwords, private keys).
  4. Asks your active AI model for a review.
  5. Checks the response is well formed, then posts one comment.

Reviews usually appear within a few minutes. Large diffs and slower models take longer.

3. Read the comment

Pullwise posts a single comment titled AI Review (advisory):

Ppullwise-botcommented just now · edited
AI Review (advisory)

Reviewed SHA: 9f3c2ab

Adds exponential backoff to the Stripe webhook handler. The retry logic is sound, but a retried delivery can credit a payment twice because the event id is stored after processing.

Risk: medium
Approval recommended: no

Findings
  • reliability / high (confidence: high) — src/webhook.ts · 42
    • Issue: The event id is saved after crediting, so a retry within the window credits again.
    • Fix: Store the event id first, inside the same transaction.
  • performance / medium (confidence: medium) — src/retry.ts · 18
    • Issue: No upper bound on retry attempts.
    • Fix: Cap attempts at 5 and log the final failure.
  • tests / low (confidence: high)
    • Issue: No test covers the timeout path.
    • Fix: Add a test that forces a timeout on the first attempt.
Questions for the author
  • Should a 4xx response from Stripe be retried at all?

Note: This is an automated review. Use judgment; validate suggestions.

Example of the comment Pullwise posts. On your platform it uses the platform's own styling.
  1. Summary (1): what the change does and the main concern, in two or three sentences. It starts with the Reviewed SHA, the commit that was reviewed.
  2. Risk and approval (2): Risk is low, medium or high. Approval recommended says yes or no.
  3. Findings (3): up to 10, each shown as category / severity with a confidence, the file and line where possible, then an Issue and a Fix.
  4. Questions for the author (4): up to 6 things the model couldn’t decide from the diff alone.

The comment always ends with a reminder that it’s an automated review. For what every severity, category and confidence level means, see understanding the review comment.

4. Push a change

Fix something and push. Pullwise reviews the new version and edits its existing comment rather than adding another one. The Reviewed SHA changes to the new commit, so you can always tell which version the review covers.

Large diffs

Pullwise reviews up to 200,000 characters of diff, which is several thousand lines. Beyond that the diff is cut short, the comment opens with a warning, and the merge request is never auto-approved:

Ppullwise-botcommented just now · edited
AI Review (advisory)

Reviewed SHA: 9f3c2ab

⚠️ The diff was larger than the review limit and was truncated. This review only covers part of the change, and approval was withheld on that basis.

Adds exponential backoff to the Stripe webhook handler. The retry logic is sound, but a retried delivery can credit a payment twice because the event id is stored after processing.

Risk: medium
Approval recommended: no

Findings
  • reliability / high (confidence: high) — src/webhook.ts · 42
    • Issue: The event id is saved after crediting, so a retry within the window credits again.
    • Fix: Store the event id first, inside the same transaction.
  • performance / medium (confidence: medium) — src/retry.ts · 18
    • Issue: No upper bound on retry attempts.
    • Fix: Cap attempts at 5 and log the final failure.
  • tests / low (confidence: high)
    • Issue: No test covers the timeout path.
    • Fix: Add a test that forces a timeout on the first attempt.
Questions for the author
  • Should a 4xx response from Stripe be retried at all?

Note: This is an automated review. Use judgment; validate suggestions.

Example of the comment Pullwise posts. On your platform it uses the platform's own styling.

For a full review, split big changes into smaller merge requests.

If something goes wrong

Problem What to do
No comment after 10 minutes Check the webhook’s recent deliveries in your platform. 401 means the secrets don’t match. 404 means the subdomain in the URL is wrong.
The delivery succeeded but there’s no review Check the platform says Connected in SCM, and look in Reviews for a Blocked entry.
Blocked in Reviews The review failed, for example because the AI provider timed out or the key ran out of credit. Push again to retry once it’s fixed.
Hosted model, nothing posted Your credit balance may have run out. Check Billing.
The comment says the diff was truncated The change is over the size limit. Split it up.

More fixes in troubleshooting.

Next

Act on a review.

Stuck? Ask the assistant, check troubleshooting or contact support.

Choose which cookies we may use. You can change this at any time from the footer.

Cookie categories