ReviewBot

Setup Guide

Get ReviewBot running in your GitLab CI/CD pipeline.

Prefer video? Watch the setup walkthrough

Quick Start

Fork our template repo, change 2 lines, add your credentials, and run.

Fork Template on GitLab

Prerequisites

  • 1. A GitLab account (free tier works)
  • 2. An Android app on Google Play
  • 3. A Google Play service account with reply permissions
  • 4. An OpenAI API key

1 Fork the Template

Go to the ReviewBot template on GitLab and click Fork. This gives you a ready-to-use repo with:

  • .gitlab-ci.yml — pre-configured pipeline
  • prompt.txt — prompt template with all placeholders

2 Edit Your App Details

Open .gitlab-ci.yml and change these two lines:

GP_PACKAGE_NAME: "com.example.yourapp"    # Your Android package name
GP_APP_NAME: "Your App Name"              # Your app's display name

3 Add CI/CD Variables

Go to Settings → CI/CD → Variables and add these (all masked):

Variable Value
GOOGLE_APPLICATION_CREDENTIALS_JSON Full JSON of your service account key
OPENAI_API_KEY Your OpenAI API key (sk-...)
REVIEWBOT_GITLAB_TOKEN GitLab PAT with api scope
LICENSE_KEY Free beta key (copy from below)

Free Beta License Key (valid until April 30, 2026):

eyJ0eXBlIjoiZnJlZV90cmlhbCIsImV4cGlyZXMiOiIyMDI2LTA0LTMwIiwiY3VzdG9tZXIiOiJldmVyeW9uZSJ9.gloyc8X5U/abEnA7X8rJQMalAbkgXKrhFFj3r/g+uRDGrb0jMrtcoyKVMgKgHC+Xiwbv6sJq7//7cNaSJ0ocqX1grQVmbJ8dIs4+bo7Nso4pw4YCQrTOl+hwjc9N9qXBMxWn8rDWvd+gRkd99CbAGdei4GvVtmB4g4r2bSWSqV/7am+tLI3BRF6fQ6ZVxV98wLG5+nx2iH5U7CfsUcYdIEs3hBgUNJS+RpQpCMkRQVG+Tlxj1qzVxbPR3SZhcPyck8dBjJfAcPKnDGFjhVSY22mwa6amWtBtq6b307OPCXWSZjAQtNZ4OVlSUnS5DhnwLGtFvE+YDk2192JsH82P9Q==

Don't have the other credentials yet? See the detailed guides below.

4 Run the Pipeline

  1. Go to CI/CD → Pipelines → Run pipeline
  2. Wait for the pipeline to complete
  3. Check Merge Requests — you'll see suggested replies
  4. Review and edit if needed
  5. Merge to publish replies to Google Play

+ Set Up a Schedule (Optional)

For automatic daily runs:

  1. Go to CI/CD → Schedules
  2. Create a new schedule (e.g., daily at 9:00 AM)
  3. Target branch: main

Add Slack Integration (Optional)

Review, edit, and approve replies directly from Slack. No need to open GitLab.

Step 1: Install the Slack App

Click the button below to add ReviewBot to your Slack workspace:

Add to Slack

Step 2: Run the Setup Command

In any Slack channel, type:

/reviewbot setup

You'll need your GitLab Project ID and the same REVIEWBOT_GITLAB_TOKEN from Step 3.

Step 3: Invite the Bot

In your notification channel, run:

/invite @ReviewBot

Required for both public and private channels.

What You Get

  • Instant notifications — See new reviews in Slack when your pipeline runs
  • Edit in Slack — Modify reply text without opening GitLab
  • One-click publish — Approve all replies and publish to Google Play instantly

For more details, see the Slack Integration page.


Credential Setup Guides

GOOGLE_APPLICATION_CREDENTIALS_JSON

What: The full JSON content of a Google Play service account key.

Why: ReviewBot uses this to access the Google Play Developer API — fetching reviews and posting replies on your behalf.

Part A: Create a Service Account in Google Cloud Console

  1. Go to console.cloud.google.com
  2. Create a new project (or select an existing one)
  3. Go to APIs & Services → Library
  4. Search for "Google Play Android Developer API" and click Enable
  5. Go to IAM & Admin → Service Accounts
  6. Click Create Service Account
  7. Give it a name (e.g., "reviewbot") — skip the optional role steps
  8. Click the newly created service account
  9. Go to the Keys tab
  10. Click Add Key → Create new key → JSON
  11. A JSON file downloads — save this file, you'll need it later

Part B: Grant Permissions in Google Play Console

  1. Go to play.google.com/console
  2. Go to Users and permissions (left sidebar, under Settings)
  3. Click Invite new users
  4. Paste the service account email (found in the JSON file as "client_email", e.g., reviewbot@your-project.iam.gserviceaccount.com)
  5. Under App permissions: click Add app and select your app
  6. Check the "Reply to reviews" permission
  7. Click Invite

Part C: Add to GitLab

  1. Open the downloaded JSON file in a text editor
  2. Copy the entire content (including the curly braces)
  3. In GitLab, go to Settings → CI/CD → Variables
  4. Add a new variable named GOOGLE_APPLICATION_CREDENTIALS_JSON
  5. Paste the full JSON as the value
  6. Check Mask variable (if it fails due to special characters, that's OK — the variable is still hidden in the UI)

OPENAI_API_KEY

What: Your OpenAI API key (starts with sk-...).

Why: ReviewBot uses OpenAI's language models to generate professional, context-aware reply suggestions for each review.

How to generate:

  1. Go to platform.openai.com
  2. Sign up or log in
  3. Go to API Keys (left sidebar) or visit platform.openai.com/api-keys
  4. Click Create new secret key
  5. Copy the key — you won't be able to see it again
  6. Make sure you have billing set up (API usage is pay-as-you-go — expect ~$1-3 per 1,000 reviews with gpt-4o-mini)

REVIEWBOT_GITLAB_TOKEN

What: A GitLab Personal Access Token (PAT) with api scope.

Why: ReviewBot creates a branch, commits the suggestions file, and opens a Merge Request in your repository. This requires API access to your project.

How to generate:

  1. Go to GitLab → click your avatar → Preferences
  2. Go to Access Tokens (left sidebar)
  3. Click Add new token
  4. Set a name (e.g., "ReviewBot") and expiration date
  5. Select the "api" scope (full API access)
  6. Click Create personal access token
  7. Copy the token immediately — you won't see it again

Tip: For better security, you can use a Project Access Token instead (limited to this project only). Create it under Settings → Access Tokens with api scope and at least Developer role.

LICENSE_KEY

What: Your ReviewBot license key (a long encoded string).

Why: ReviewBot requires a valid license to run. The license is cryptographically signed and cannot be modified or forged.

Copy the free beta license key from the box above, or visit the pricing page.

Customize Your Prompt

The template includes a generic prompt.txt that works well out of the box. To tailor replies to your app's voice, edit the prompt and add context about your app's domain.

See the Prompt Guide for tips on writing effective prompts.