RBTools is a set of command line tools for working with Review Board and RBCommons. It’s there to help quickly get your code up for review, check on the status of changes, and eventually land your code in the codebase, amongst other uses.
RBTools interfaces with your repository’s official command line tools, making it easy to generate suitable diffs or to apply changes across any supported type of repository without having to learn different sets of tools.
Along with a variety of helpful commands, RBTools also provides a powerful Python client API for Review Board, giving you the flexibility to develop your own integrations.
What’s in RBTools¶
The “rbt” Command¶
All the RBTools commands are invoked through the rbt tool. This runs on Windows, Linux, and MacOS X, and contains a number of useful sub-commands through the following usage:
$ rbt <command> [options] [<args>]
You can get help on rbt or a sub-command in the following ways:
$ rbt help $ rbt help <command> $ rbt <command> --help
Some of the most commonly-used commands include:
- post - Posts changes to Review Board
- diff - Displays the diff that will be sent to Review Board
- land - Lands a change in a local branch or on a review request
- patch - Patches your tree with a change on a review request
- setup-repo - Sets up RBTools to talk to your repository
- status - Display the status of your outgoing review requests
There’s a whole suite of additional commands that might also be useful:
- alias - Create custom aliases for commands and operations
- api-get - Retrieve structured information from the API
- attach - Upload and attach files to a review request
- clear-cache - Clear your local RBTools caches
- close - Close a review request
- install - Install special components for third-party integrations
- list-repo-types - List all repository types supported by RBTools
- login - Create a Review Board login session for RBTools
- logout - Log RBTools out of Review Board
- publish - Publish a review request
- setup-completion - Set up shell integration/auto-completion
- stamp - Stamp a local commit with a review request URL
- status-update - Register or update a “status update” on a review request, for automatic code review
RBTools provides a Python module makes it easy to communicate with any Review Board server using its powerful REST API. You can write custom scripts or even new RBTools command that can attach metadata to review requests, perform reviews, analyze diffs, extract analytics data, or almost anything else.
There’s a lot you can do with the API. See the RBTools Python API documentation for more information.
To install RBTools, simply visit the RBTools Downloads page and follow the instructions for your operating system.
Using Microsoft Team Foundation Server?
You will need to install and configure some additional tools as well. See the our guide on configuring TFS.
Once you’ve installed RBTools, you’ll want to configure it to work with each
of your repositories. This is done with a
.reviewboardrc file. This is
the first step to allow any of your developers to easily post changes using
There’s a number of options available to RBTools users, from command line argument defaults to custom aliases and shell integration. We’ve broken this into multiple guides: