A tool for running automated static analysis on code posted to a Review Board instance.

reviewboard reviewboard Last update: May 24, 2022

Review Bot

Welcome to Review Bot!

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

It is:

  • Made for Review Board: Tools are configured through Review Board'sexisting Integrations functionality, letting you choose exactly when and howtools are run within your organization.
  • Scalable: Review Bot is built using Celery and can scale out to servicevery large Review Board deployments.
  • Extensible: Writing plugins is simple using a convenient API to retrievecode files and craft a review. If more power is needed, tools can access thefull Review Board API.

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

Supported Code Checking Tools

Review Bot can perform automated code reviews using any of the followingtools:

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 standardinconsistencies

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 orfunctions, 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 automaticformatting 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 andother problems
  • Secret Scanner- Checks source code and configuration files for accidental inclusion ofsensitive keys and credentials

See the links above for installation and usage instructions.

Installing Review Bot

Review Bot is made up of a message broker, at least one Review Bot worker,the Review Bot extension for Review Board, and various code checking tools.

Official Docker images are also available.

See the downloads page and read the Review Bot documentation to learnhow to install and configure Review Bot and its components.

Getting Support

We can help you get going with Review Bot, and diagnose any issues that maycome up. There are three levels of support: Public Community Support, PrivateBasic Support, and Private Premium Support.

The public community support is available on our main discussion list. Wegenerally respond to requests within a couple of days. This support works wellfor general, non-urgent questions that don't need to expose confidentialinformation.

Private Support plans are available through support contracts. We offersame-day support options, handled confidentially over e-mail or our supporttracker, and can assist with a wide range of requests.

See your support options for more information.

Reporting Bugs

Hit a bug? Let us know byfiling a bug report.

You can also look through theexisting bug reports to see if anyoneelse has already filed the bug.

If you have a Review Board support contract, feel free to reach out to usfor any support issues.

Contributing

Are you a developer? Do you want to help build new tools or features forReview Bot? Great! Let's help you get started.

First off, read through our Contributor Guide.

We accept patches to Review Bot, Review Board, RBTools, and other relatedprojects on reviews.reviewboard.org.(Please note that we do not accept pull requests.)

Got any questions about anything related to Review Board and development? Headon over to our development discussion list.

Related Projects

  • Review Board -Our extensible, open source code review tool.
  • RBTools -The RBTools command line suite.
  • RB Gateway -Manages Git repositories, providing a full API enabling all of Review Board'sfeaures.

Subscribe to our newsletter