https://github.com/reviewboard/reviewbot
A tool for running automated static analysis on code posted to a Review Board instance.
https://github.com/reviewboard/reviewbot
automated-code-review code-review python review-board-extension reviewboard
Last synced: 9 months ago
JSON representation
A tool for running automated static analysis on code posted to a Review Board instance.
- Host: GitHub
- URL: https://github.com/reviewboard/reviewbot
- Owner: reviewboard
- License: mit
- Created: 2012-02-04T22:20:19.000Z (about 14 years ago)
- Default Branch: master
- Last Pushed: 2025-02-11T18:40:42.000Z (about 1 year ago)
- Last Synced: 2025-05-09T21:10:39.430Z (9 months ago)
- Topics: automated-code-review, code-review, python, review-board-extension, reviewboard
- Language: Python
- Homepage: https://www.reviewboard.org/downloads/reviewbot/
- Size: 2.56 MB
- Stars: 143
- Watchers: 16
- Forks: 34
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- License: COPYING
- Authors: AUTHORS
Awesome Lists containing this project
README
==========
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`_.
.. _Celery: https://docs.celeryq.dev/
.. _Integrations: https://www.reviewboard.org/docs/manual/latest/admin/integrations/
.. _Review Board: https://www.reviewboard.org/
.. _Review Board support contract: https://www.reviewboard.org/support/
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
--
* `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
* `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.
.. _downloads page: https://www.reviewboard.org/downloads/reviewbot/
.. _Official Docker images:
https://www.reviewboard.org/docs/reviewbot/latest/installation/docker/
.. _Review Bot documentation:
https://www.reviewboard.org/docs/reviewbot/latest/
.. _Review Bot extension: https://pypi.org/project/reviewbot-extension/
.. _Review Bot worker: https://pypi.org/project/reviewbot-worker/
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.
.. _discussion list: https://groups.google.com/group/reviewboard/
.. _support options: https://www.reviewboard.org/support/
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`_.
.. _`Contributor Guide`: https://www.reviewboard.org/docs/codebase/dev/
.. _`development discussion list`:
https://groups.google.com/group/reviewboard-dev/
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.
.. _RBTools: https://github.com/reviewboard/rbtools/
.. _ReviewBot: https://github.com/reviewboard/ReviewBot/
.. _RB Gateway: https://github.com/reviewboard/rb-gateway/