• Get Review Board
  • What's New
  • Products
  • Review Board Code review, image review, and document review
  • Documentation
  • Release Notes
  • Power Pack Enterprise integrations, reports, and enhanced document review
  • Try for 60 Days
  • Purchase
  • RBCommons Review Board as a Service, hosted by us
  • Pricing
  • RBTools Command line tools and Python API for Review Board
  • Documentation
  • Release Notes
  • Review Bot Automated code review, connecting tools you already use
  • Documentation
  • Release Notes
  • RB Gateway Manage Git and Mercurial repositories in your network
  • Documentation
  • Release Notes
  • Learn and Explore
  • What is Code Review?
  • Documentation
  • Frequently Asked Questions
  • Support Options
  • Third-Party Integrations
  • Demo
  • Review Board RBTools Power Pack Review Bot Djblets RB Gateway
    1. Review Bot 4.x
    2. Version 4.x
    3. Version 3.0
    4. Version 2.0
    5. Version 1.0
    6. Review Bot Documentation
  • Home
  • Installation
  • Manually Installing Review Bot
  • Review Bot Docker Images
  • Upgrading Review Bot
  • Configuring Review Bot
  • Review Bot Tools
  • Cargo Tool
  • Checkstyle
  • Clang Static Analyzer
  • Cppcheck
  • Cpplint
  • Doc8
  • FBInfer
  • Flake8
  • Go Fmt
  • Go Tool
  • JSHint
  • PMD
  • Pycodestyle
  • Pydocstyle
  • Pyflakes
  • RuboCop
  • Rust Fmt
  • Secret Scanner
  • ShellCheck
  • Module and Class Reference
  • reviewbot.tools.base
  • reviewbot.tools.base.mixins
  • reviewbot.tools.base.registry
  • reviewbot.tools.base.tool
  • reviewbot.testing.testcases
  • reviewbot.testing.utils
  • reviewbot.tools.testing
  • reviewbot.tools.testing.decorators
  • reviewbot.tools.testing.testcases
  • reviewbot.processing.review
  • reviewbot.utils.api
  • reviewbot.utils.filesystem
  • reviewbot.utils.log
  • reviewbot.utils.process
  • reviewbot.utils.text
  • reviewbot.celery
  • reviewbot.config
  • reviewbot.deprecation
  • reviewbot.errors
  • reviewbot.repositories
  • reviewbot.tasks
  • reviewbot.tools.cargotool
  • reviewbot.tools.checkstyle
  • reviewbot.tools.clang
  • reviewbot.tools.cppcheck
  • reviewbot.tools.cpplint
  • reviewbot.tools.doc8
  • reviewbot.tools.fbinfer
  • reviewbot.tools.flake8
  • reviewbot.tools.gofmt
  • reviewbot.tools.gotool
  • reviewbot.tools.jshint
  • reviewbot.tools.pmd
  • reviewbot.tools.pycodestyle
  • reviewbot.tools.pydocstyle
  • reviewbot.tools.pyflakes
  • reviewbot.tools.rbsecretscanner
  • reviewbot.tools.rubocop
  • reviewbot.tools.rustfmt
  • reviewbot.tools.shellcheck
  • General Index
  • Python Module Index
  • Release Notes
  • Review Bot Documentation¶

    Welcome to Review Bot!

    Review Bot automates parts of the code review process, using a wide range of industry-standard code checking tools to look over your code and catch problems so your developers can focus on the bigger picture.

    It is:

    • Made for Review Board: Tools are configured through Review Board’s existing Integrations functionality, letting you choose exactly when and how tools are run within your organization.

    • Scalable: Review Bot is built using Celery and can scale out to service very large Review Board deployments.

    • Extensible: Writing plugins is simple using a convenient API to retrieve code files and craft a review. If more power is needed, tools can access the full Review Board API.

    Premium support for Review Bot is included with any Review Board support contract.

    Getting Started¶

    Review Bot 4.0 supports Review Board 5.0-7.0, and Python 3.8-3.12.

    A Review Bot setup consists of three pieces:

    1. The Review Bot extension for Review Board.

    2. A message broker (such as RabbitMQ).

    3. At least one Review Bot worker (either on the Review Board server or somewhere else in your network), which will run the code checking tools.

    There are two official ways to install Review Bot:

    • Manual installation

    • Official Docker images

    Once Review Bot is installed, you’ll need to configure the extension and the workers:

    • Configuring the extension

    • Configuring workers

    • Configuring code checking tools

    Ready to upgrade to a new version of Review Bot?

    • Upgrading Review Bot

    This will guide you through any installation and configuration changes you need to make.

    Available Tools¶

    The following tools are supported by Review Bot:

    C/C++¶

    • Clang Static Analyzer - Compiles and checks C/C++/Objective-C code for a variety of problems

    • Cppcheck - Checks C/C++ code for undefined behavior and dangerous coding constructs

    • CppLint - Checks C++ code against Google’s style guide

    Go¶

    • gofmt - Checks Go code for code formatting issues

    • Go Tool - Checks Go code using go vet and go test

    Java¶

    • checkstyle - Checks Java code for code formatting issues and code standard inconsistencies

    JavaScript¶

    • JSHint - Checks JavaScript code for common errors

    Python¶

    • doc8 - Check ReStructuredText documentation for styling and syntax errors

    • flake8 - Checks Python code using a variety of common code Python quality tools

    • pycodestyle - Checks Python code for code formatting issues

    • pydocstyle - Checks Python docstrings for errors and common formatting issues

    • pyflakes - Checks Python code for missing imports, unused or undefined variables or functions, and more

    Ruby¶

    • RuboCop - Checks Ruby code for common code formatting issues

    Rust¶

    • Cargo Tool - Checks Rust code for errors and suspicious constructs

    • rustfmt - Checks Rust code for code formatting issues based on the automatic formatting rules in rustfmt

    Shell Scripts¶

    • ShellCheck - Checks Bash/sh scripts for common problems and misused commands

    Multi-Language Tools¶

    • FBInfer - Checks a wide range of programming languages for potential errors

    • PMD - Checks code in a variety of programming languages for syntax errors and other problems

    • Review Bot Secret Scanner - Checks source code and configuration files for accidental inclusion of sensitive keys and credentials

    Extending Review Bot¶

    Review Bot can be extended through custom tools. To do this, you’ll need to create a reviewbot.tools.base.tool.BaseTool subclass, registered through the reviewbot.tools Python entrypoint in a Python package.

    Unit tests can be built using the reviewbot.tools.testing module.

    See the module and class reference for details.

    Keep up with the latest Review Board releases, security updates, and helpful information.

    About
    News
    Demo
    RBCommons Hosting
    Integrations
    Happy Users
    Support Options
    Documentation
    FAQ
    User Manual
    RBTools
    Administration Guide
    Power Pack
    Release Notes
    Downloads
    Review Board
    RBTools
    Djblets
    Power Pack
    Package Store
    PGP Signatures
    Contributing
    Bug Tracker
    Submit Patches
    Development Setup
    Wiki
    Follow Us
    Mailing Lists
    Reddit
    Twitter
    Mastodon
    Facebook
    YouTube

    Copyright © 2006-2025 Beanbag, Inc. All rights reserved.

    Terms of Service — Privacy Policy — AI Ethics Policy — Branding

    On this page

    • [Top]
    • Getting Started
    • Available Tools
      • C/C++
      • Go
      • Java
      • JavaScript
      • Python
      • Ruby
      • Rust
      • Shell Scripts
      • Multi-Language Tools
    • Extending Review Bot