Troubleshooting
This page is designed to help you solve common problems that you may encounter when using Reviewpad.
Whether you are having issues with setting up your account, integrating with GitHub, configuring your pull request workflow, or anything else related to Reviewpad, you can find answers and solutions here.
Simply browse through the list below to find the problem you are having.
If you don't see your problem listed here, please contact us on #help on our Discord server.
We hope this page helps you get the most out of Reviewpad and enjoy a smooth and secure code review process.
Syntax errors
When there is a syntax error in your configuration, Reviewpad will show an error message:
Parse error: failed to build AST
This error means that Reviewpad wasn't able to parse a property spec
defined in the configuration.
Some of the common parsing errors are:
Using '
instead of "
for strings
Bad | Good |
---|---|
$addLabel('hello') | $addLabel("hello") |
Missing the $
prefix when using a built-in
Bad | Good |
---|---|
containsFileName("README.md") | $containsFileName("README.md") |
Missing the parenthesis ()
when using a built-in
Bad | Good |
---|---|
$isMerged | $isMerged() |
Using seconds
on relative timestamps
For now, Reviewpad only supports minutes, hours, days, weeks, months, and years on relative timestamps. Using seconds will result in an error.
Bad | Good |
---|---|
60 seconds ago | 1 minute ago |
Here's an example of the error:
workflows:
- name: maybe-LGTM
run:
# This will fail because we are using seconds
if: $countUserReviews() > 1 && $getCreatedAt() < 60 seconds ago
then: $addComment("This PR got a fast review. Is it a LGTM?")
Built-ins misuse
Using GitHub suite name instead of check run name
When using the built-ins:
We need to use the check run name instead of the suite name.
In the following GitHub workflow example, the suite name is CI
and the check run name is build
:
name: CI # check suite name
on:
push:
jobs:
build: # check run name
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run a one-line script
run: echo Hello, world!
Following the example above, we would use build
instead of CI
:
$getCheckRunConclusion("build")
$hasAnyCheckRunCompleted(["build"])
$hasOnlyCompletedCheckRuns(["build"])