Review Bot
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.
Supported Code Checking Tools
Review Bot can perform automated code reviews using any of the following tools:
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
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
- Secret Scanner - Checks source code and configuration files for accidental inclusion of sensitive 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 learn how 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 may come up. There are three levels of support: Public Community Support, Private Basic Support, and Private Premium Support.
The public community support is available on our main discussion list. We generally respond to requests within a couple of days. This support works well for general, non-urgent questions that don't need to expose confidential information.
Private Support plans are available through support contracts. We offer same-day support options, handled confidentially over e-mail or our support tracker, and can assist with a wide range of requests.
See your support options for more information.
Reporting Bugs
Hit a bug? Let us know by filing a bug report.
You can also look through the existing bug reports to see if anyone else has already filed the bug.
If you have a Review Board support contract, feel free to reach out to us for any support issues.
Contributing
Are you a developer? Do you want to help build new tools or features for Review 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 related projects on reviews.reviewboard.org. (Please note that we do not accept pull requests.)
Got any questions about anything related to Review Board and development? Head on 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's feaures.