A tool for running automated static analysis on code posted to a Review Board instance.
Clone or download
alextechcc and davidt File modification checking multi-line support and cleanup
Multiple TODOs have been addressed in _is_modified, so that tools commenting on
multiple lines have modifications properly checked. The algorithm has been made
more efficient, only checking relevant (modified) chunks to see if they are in
the range of modification.

A patch was also made to tools that 'globally comment' (I.E. make a comment
with a line of <=0). Previously, all this would do is round the line number up
to 1, (as the front-end does not support rendering first_line=None), which had
the unintended side-effect of tools configured to only comment on modified code
who make global comments, to only have their comment go through if line 1 was
modified. The first_line=1 workaround is still used, and the file is assumed to
be modified.

Testing Done:
I've tested `_is_modified` through my `nyc` plugin directly, and tested
`File.comment()` manually through a stub-plugin. Waiting on test suite creation
to mock up standalone tests.

Reviewed at https://reviews.reviewboard.org/r/10280/
Latest commit 8ad985e Nov 30, 2018

README.rst

Review Bot

Review Bot is a tool for automating tasks on code uploaded to Review Board, and posting the results as a code review. Review Bot was built to automate the execution of static analysis tools.

Review Bot is:

  • 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.
  • Scalable: Review Bot is built using Celery and can scale out to service very large Review Board instances.
  • Integrated Configuration: Tools are configured through the Review Board admin panel, including settings uniquely defined for each task.

Supported Code Checking Tools

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

  • BuildBot "try" - Builds the patch in a configured BuildBot environment
  • checkstyle - A static analysis tool that provides a variety of checkers for Java code
  • Cppcheck - A static analysis tool for C/C++ code
  • CppLint - Checks C++ code against Google's style guide
  • flake8 - A wrapper around several Python code quality tools
  • PMD - A static analysis tool that provides checkers for many languages
  • pycodestyle - A code style checker for Python code
  • pydocstyle - A static analysis tool for Python docstring conventions
  • pyflakes - A static analysis tool for Python code

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.

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.

Our Happy Users

There are thousands of companies and organizations using Review Board today. We respect the privacy of our users, but some of them have asked to feature them on the Happy Users page.

If you're using Review Board, and you're a happy user, let us know!

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.

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.