Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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: 6 days ago
JSON representation

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

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/