ReviewBot

Troubleshooting

Common issues and how to fix them.

"PROMPT_FILE is required"

Your .gitlab-ci.yml must set PROMPT_FILE to the path of your prompt template.

PROMPT_FILE: $CI_PROJECT_DIR/prompt.txt

"failed to create androidpublisher service"

Your GOOGLE_APPLICATION_CREDENTIALS_JSON is invalid. Check that:

  • You pasted the full JSON (including { and })
  • The service account has Google Play API enabled in its GCP project
  • The service account has "Reply to reviews" permission in Google Play Console

"license validation failed"

Your LICENSE_KEY is missing or invalid. Check that:

  • The variable is set in CI/CD settings
  • It's the full string with no line breaks
  • It hasn't expired

"no unanswered reviews found"

This is normal. Google Play API only returns reviews from the last 7 days. If all recent reviews already have replies, there's nothing to do. ReviewBot will create an MR only when it finds unanswered reviews.

Pipeline runs but no MR appears

  • Check the pipeline logs for errors
  • Verify REVIEWBOT_GITLAB_TOKEN has "api" scope
  • Make sure the token hasn't expired
  • Confirm there are unanswered reviews (check pipeline output)

MR merged but replies not posted

  • Check that the publish_replies stage is configured correctly
  • Verify the file path matches: .reviewbot/suggestions/**/*.json
  • Check the publish pipeline logs for Google Play API errors
  • Confirm your service account still has "Reply to reviews" permission

OpenAI rate limiting (429 errors)

ReviewBot retries automatically (3 times with exponential backoff). If it still fails, your OpenAI account may need a higher rate limit tier. Check your usage at platform.openai.com/usage.

Replies are too generic or low quality

  • Your prompt is probably too vague — see the Prompt Guide
  • Add more context about your app's domain
  • Include style examples via STYLE_EXAMPLES env var
  • Be specific about tone and length requirements

Still stuck?

Email us at support@reviewbot.dev and we'll help you out.