Extending Review Board¶
Because development workflows can vary widely, Review Board is built to be highly extensible. Extensions are third-party packages that can improve the product, add new features, enhance existing ones, change the look and feel, and integrate with other services.
Here are just a few examples of what you can accomplish by writing an extension:
Modify the user interface to provide new review request actions or fields.
Collect statistics and generate reports.
Connect Review Board with other systems (new chat systems, version control, bug trackers, etc.).
Add new API for collecting or computing custom data.
Implement review UIs for previously unsupported types of files.
This guide will cover some of the basics of extension writing, and provide a reference to the Review Board codebase.
Getting Started¶
For a step-by-step guide to getting started with creating your extension, see Making a Review Board Extension.
Full Examples¶
The following are in-depth guides on some of the more common types of extensions you might be interested in building:
Extension Reference¶
These pages provide in-depth information about the extension framework and its APIs:
- Extension Files and Package Layout
- Creating an Extension Class
- Defining Extension Metadata
- Handling Initialization and Shutdown
- Requiring Other Extensions
- Adding Django Apps
- Adding Django Context Processors
- Adding Django Middleware
- Defining Static Media Bundles
- Custom Configuration and Settings
- Adding API Resources
- Adding JavaScript Extensions
- Enabling an Administrator Site
- Supporting Read-Only Mode
- Adding a Configuration Form
- Providing Database Models
- Providing Static Media Files
- Writing JavaScript Extensions
- Writing Extension Unit Tests
- Packaging and Distributing Extensions
- Extension Hooks
Code Base Documentation¶
When writing extensions, you can use the same Review Board classes and methods that we use in the product ourselves.
Please note that not all of these are guaranteed to be API-stable or fully documented.
Review Board¶
Djblets¶
Djblets Development Guides
Djblets Code Base Reference