• 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 2.0
    2. Version 4.x
    3. Version 3.0
    4. Version 2.0
    5. Version 1.0
    6. Configuration
  • Home
  • Installation
  • Upgrading
  • Configuration
  • Review Bot Tools
  • BuildBot “try”
  • checkstyle
  • Clang Static Analyzer
  • Cppcheck
  • CppLint
  • doc8
  • flake8
  • JSHint
  • PMD
  • pycodestyle
  • pydocstyle
  • pyflakes
  • General Index
  • Release Notes
  • This documentation covers Review Bot 2.0. You can select a version above or view the latest documentation.

    Configuration¶

    Extension Configuration¶

    After the Review Bot extension is enabled, it needs to be configured. Open the Review Board administration page and click Extensions in the top bar. Under the extension called “Review Bot”, click Configure to set up the extension.

    There are two items that need to be set here: the user, and the broker URL.

    ../_images/extension-configuration.png

    Review Bot User¶

    Review Bot uses a special user account to post reviews. If you were previously using Review Bot 0.1 or 0.2, select the existing Review Bot user. Otherwise, click create a new user for Review Bot.

    Broker URL¶

    For the broker URL, put in the URL of your RabbitMQ or other Celery broker. For example, if your broker is running on the same system as your Review Board server, this might look something like:

    amqp://guest:guest@localhost:5672//
    

    Checking Status and Updating Tools List¶

    After saving the configuration, the page will attempt to contact the broker and check for workers. The Broker Status box will indicate whether everything is set up correctly. This will also save a list of the available tools, which is required for setting up tool configurations.

    Tool Configurations¶

    To set up a tool to run, open the Review Board administration page and click Integrations in the top bar. Under the Review Bot section, click Add a new configuration.

    ../_images/integrations-list.png

    Each tool configuration allows you to specify a tool to run, the conditions for when that tool is run, and some options for how it is run.

    First, give the configuration a name. You can then choose a set of conditions for when the tool should run. If you would like it to run on every change, choose Always match. Otherwise, you can select a set of conditions (such as a specific repository, or an assigned review group).

    Next, choose which tool to run. Once a tool is selected, additional tool-specific options may appear.

    ../_images/tool-configuration.png

    Note

    It’s important to be aware that tools will only run if they’re currently available on a running worker node. If your worker dies, items will be added to the queue but will not run. In this case, the jobs will appear on the review request but will show as timed out.

    Note

    Some tools may require extra configuration on the worker. Details on this can be found below.

    Worker Configuration¶

    In most cases, the Review Bot worker runs without any configuration other than the broker URL which is part of the command line.

    There are a few special situations which do require additional configuration in a special Python file which defines variables for the worker.

    The location of this file depends on the operating system that the worker is running on. On Linux, the file should be located at /etc/xdg/reviewbot/config.py. On Mac OS, the file is /Library/Application Support/reviewbot/config.py.

    Repositories¶

    Some tools require a full clone of the source repository, because they may need access to all files, not just those which have been changed.

    Right now, Review Bot supports full repository access for Git and hg repositories. This requires configuring each repository on the worker, which allows different repositories to be spread across different hosts. These are specified in the worker config file as a list of dictionaries, with three fields. The name should be the configured name of the repository inside the Review Board admin interface. The type should currently be git or hg, and clone_path should be set to the git or hg URL (possibly including credentials) to clone the repository from.

    The repository path or mirror_path field must be the URL of a repository which is accessible to the Review Bot worker. If you use a local file path for your repository and the worker is not running on the same host as the Review Board server, you must also expose the repository over http and set the mirror_path.

    repositories = [
        {
            'name': 'Review Board',
            'type': 'git',
            'clone_path': 'https://github.com/reviewboard/reviewboard.git',
        },
        {
            'name': 'Git',
            'type': 'git',
            'clone_path': 'https://github.com/git/git.git',
        },
        {
            'name': 'MercurialRockz',
            'type': 'hg',
            'clone_path': 'https://www.mercurial-scm.org/repo/hg/',
        },
    ]
    

    Automatically Fetch Repositories From Review Board¶

    New in version 2.0.

    If you have many workers and repositories, it may not be feasible to configure repositories by hand. You can also configure a list of Review Board servers to fetch all supported repositories from. If you disabled anonymous read-only access you need to register a separate user and generate an API token. The access via token can be read-only.

    Be aware that manually configured repositories will override any automatically fetched configuration of a duplicate repository entry.

    The repository path or mirror_path field must be the URL of a repository which is accessible to the Review Bot worker. If you use a local file path for your repository and the worker is not running on the same host as the Review Board server, you must also expose the repository over HTTP and set the mirror_path.

    review_board_servers = [
        {
            'user': 'reviewbot',
            'token': 'dd16b7208a2a8c88be6788c22340ae46823fc57e',
            'url': 'http://reviewboard',
        },
        {
            'url': 'http://rb',
        },
    ]
    

    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]
    • Extension Configuration
      • Review Bot User
      • Broker URL
      • Checking Status and Updating Tools List
    • Tool Configurations
    • Worker Configuration
      • Repositories
      • Automatically Fetch Repositories From Review Board