• Get Review Board
  • What's New
  • Products
  • Review Board Code review, image review, and document review
  • Documentation
  • Release Notes
  • Power Pack Enterprise integrations, reports, and enhanced document review
  • Try for 60 Days
  • Purchase
  • RBCommons Review Board as a Service, hosted by us
  • Pricing
  • RBTools Command line tools and Python API for Review Board
  • Documentation
  • Release Notes
  • Review Bot Automated code review, connecting tools you already use
  • Documentation
  • Release Notes
  • RB Gateway Manage Git and Mercurial repositories in your network
  • Documentation
  • Release Notes
  • Learn and Explore
  • What is Code Review?
  • Documentation
  • Frequently Asked Questions
  • Support Options
  • Third-Party Integrations
  • Demo
  • Review Board RBTools Power Pack Review Bot Djblets RB Gateway
    1. Review Board 8.x
    2. Version 8.x
    3. Version 7.x
    4. Version 6.x
    5. Version 5.0
    6. Version 4.0
    7. Version 3.0
    8. Version 2.5
    9. Version 2.0
    10. Version 1.7
    11. Version 1.6
    12. Version 1.5
    13. Version 1.0
    14. Extending Review Board
    15. Module and Class References
    16. reviewboard.certs.cert
  • Home
  • Users Guide
  • Getting Started
  • Introduction
  • What is Code Review?
  • Review Board Workflows
  • Account Settings
  • Dashboard
  • Working with Review Requests
  • Overview
  • Creating Review Requests
  • Editing Fields
  • Uploading Diffs
  • Uploading File Attachments
  • Publishing Review Requests
  • Closing Review Requests
  • Reviewing
  • Reviews and Comments
  • The Review Banner
  • Managing and Publishing Drafts
  • Issue Tracking
  • Reviewing Code (Diffs)
  • Reviewing File Attachments
  • Reviewing Images
  • Reviewing Markdown Files
  • Reviewing Text Files
  • Creating and Editing Reviews
  • Approving Changes (Ship It!)
  • Replying to Comments
  • Automated Code Reviews
  • Searching
  • Quick Search
  • Full-Text Search
  • Using Markdown
  • Administration Guide
  • Installation
  • Installing Review Board
  • Linux System Compatibility
  • Installing with Docker
  • Manually Installing on Linux
  • Installing on macOS
  • Installing on Windows
  • Installing Development Releases
  • Creating a Review Board Site
  • Choosing a Review Board Plan
  • Upgrading
  • Upgrading Review Board
  • Upgrading Review Board Sites
  • Optimization
  • Optimizing and Scaling Review Board
  • Administration UI
  • Overview of the Administration UI
  • Administrator Dashboard
  • Database Management
  • Configuration
  • Site Settings
  • General Settings
  • Authentication Settings
  • Avatar Services Settings
  • E-Mail Settings
  • Review Workflow Settings
  • Diff Viewer Settings
  • Logging Settings
  • SSH Settings
  • File Storage Settings
  • User Privacy Settings
  • Search Settings
  • Document Review Settings
  • Access Control
  • Working with E-Mail
  • Default Reviewers
  • Permission Groups
  • Repositories
  • Azure DevOps Server / Team Foundation Server Repositories
  • Bazaar Repositories
  • CVS Repositories
  • Git Repositories
  • HCL ClearCase and IBM ClearCase
  • Mercurial Repositories
  • Perforce Repositories
  • Review Board Gateway Repositories
  • Subversion Repositories
  • Assembla Repositories
  • AWS CodeCommit Repositories
  • Azure DevOps Services Repositories
  • Beanstalk Repositories
  • Bitbucket Repositories
  • Bitbucket Data Center Repositories
  • Codebase HQ Repositories
  • Fedora Hosted Repositories
  • Forgejo Repositories
  • Gerrit Repositories
  • GitHub Repositories
  • GitHub Enterprise Repositories
  • GitLab Repositories
  • Gitorious Repositories
  • Keysight SOS Repositories
  • SourceForge Repositories
  • Unfuddle STACK Repositories
  • Review Groups
  • Managing SSL/TLS Certificates and CA Bundles
  • User Roles
  • Users
  • WebHooks
  • Extensions
  • Integrations
  • Asana Integration
  • CircleCI Integration
  • Discord Integration
  • GitLab CI/CD Integration
  • I Done This Integration
  • Jenkins CI Integration
  • Matrix Integration
  • Mattermost Integration
  • Microsoft Teams Integration
  • Slack Integration
  • Travis CI Integration
  • Trello Integration
  • Site Maintenance
  • The rb-site Tool
  • Advanced Management Commands
  • Monitoring Review Board
  • Health Checks
  • Web API Guide
  • Resource Tree
  • Resources
  • Root List Resource
  • Default Reviewer List Resource
  • Default Reviewer Resource
  • Extension List Resource
  • Extension Resource
  • Hosting Service Account List Resource
  • Hosting Service Account Resource
  • Remote Repository List Resource
  • Hosting Service List Resource
  • Hosting Service Resource
  • OAuth2 Applications List Resource
  • OAuth2 Applications Resource
  • OAuth2 Tokens List Resource
  • OAuth2 Tokens Resource
  • Repository List Resource
  • Repository Resource
  • Diff File Attachment List Resource
  • Repository Branches Resource
  • Repository Commits Resource
  • Repository Group List Resource
  • Repository Info Resource
  • Repository User List Resource
  • Review Group List Resource
  • Review Group Resource
  • Review Group User List Resource
  • Review Request List Resource
  • Review Request Resource
  • Change List Resource
  • Diff Context Resource
  • Diff List Resource
  • File Attachment List Resource
  • Review List Resource
  • Review Request Draft Resource
  • Review Request Last Update Resource
  • Screenshot List Resource
  • Status Update List Resource
  • Root Diff Comment List Resource
  • Root File Attachment Comment List Resource
  • Root General Comment List Resource
  • Root Review List Resource
  • Search Resource
  • Server Info Resource
  • Session Resource
  • User List Resource
  • User Resource
  • API Token List Resource
  • Archived Review Request List Resource
  • Muted Review Request List Resource
  • User File Attachment List Resource
  • Watched List Resource
  • Validation List Resource
  • Validate Diff List Resource
  • Validate Diff Commit List Resource
  • WebHook List Resource
  • WebHook Resource
  • Server Info Resource
  • Default Reviewer List Resource
  • Default Reviewer Resource
  • Default Reviewer Resource
  • Diff Context Resource
  • Diff List Resource
  • Diff Resource
  • Diff Commit List Resource
  • Diff Commit Resource
  • File Diff List Resource
  • File Diff Resource
  • Diff Resource
  • Diff Commit List Resource
  • Diff Commit Resource
  • File Diff List Resource
  • File Diff Resource
  • File Diff Comment List Resource
  • Original File Resource
  • Patched File Resource
  • Diff Commit List Resource
  • Diff Commit Resource
  • Diff Commit Resource
  • Diff File Attachment List Resource
  • Diff File Attachment Resource
  • Diff File Attachment Resource
  • Original File Resource
  • Patched File Resource
  • Extension List Resource
  • Extension Resource
  • Extension Resource
  • Hosting Service List Resource
  • Hosting Service Resource
  • Hosting Service Resource
  • Hosting Service Account List Resource
  • Hosting Service Account Resource
  • Remote Repository List Resource
  • Remote Repository Resource
  • Hosting Service Account Resource
  • Remote Repository List Resource
  • Remote Repository Resource
  • Remote Repository List Resource
  • Remote Repository Resource
  • Remote Repository Resource
  • OAuth2 Applications List Resource
  • OAuth2 Applications Resource
  • OAuth2 Applications Resource
  • OAuth2 Tokens List Resource
  • OAuth2 Tokens Resource
  • OAuth2 Tokens Resource
  • Repository List Resource
  • Repository Resource
  • Diff File Attachment List Resource
  • Diff File Attachment Resource
  • Repository Branches Resource
  • Repository Commits Resource
  • Repository Group List Resource
  • Repository Group Resource
  • Repository Info Resource
  • Repository User List Resource
  • Repository User Resource
  • Repository Resource
  • Diff File Attachment List Resource
  • Diff File Attachment Resource
  • Repository Branches Resource
  • Repository Commits Resource
  • Repository Group List Resource
  • Repository Group Resource
  • Repository Info Resource
  • Repository User List Resource
  • Repository User Resource
  • Repository Branches Resource
  • Repository Commits Resource
  • Repository Group List Resource
  • Repository Group Resource
  • Repository Group Resource
  • Repository Info Resource
  • Repository User List Resource
  • Repository User Resource
  • Repository User Resource
  • Review Group List Resource
  • Review Group Resource
  • Review Group User List Resource
  • Review Group User Resource
  • Review Group Resource
  • Review Group User List Resource
  • Review Group User Resource
  • Review Group User List Resource
  • Review Group User Resource
  • Review Group User Resource
  • Change List Resource
  • Change Resource
  • Change Resource
  • File Attachment List Resource
  • File Attachment Resource
  • File Attachment Comment List Resource
  • File Attachment Resource
  • File Attachment Comment List Resource
  • File Attachment Comment List Resource
  • File Diff List Resource
  • File Diff Resource
  • File Diff Comment List Resource
  • Original File Resource
  • Patched File Resource
  • File Diff Resource
  • File Diff Comment List Resource
  • Original File Resource
  • Patched File Resource
  • File Diff Comment List Resource
  • Review Request List Resource
  • Review Request Resource
  • Change List Resource
  • Change Resource
  • Diff Context Resource
  • Diff List Resource
  • Diff Resource
  • File Attachment List Resource
  • File Attachment Resource
  • Review List Resource
  • Review Resource
  • Review Draft Resource
  • Review Request Draft Resource
  • Draft Diff List Resource
  • Draft File Attachment List Resource
  • Draft Screenshot List Resource
  • Review Request Last Update Resource
  • Screenshot List Resource
  • Screenshot Resource
  • Status Update List Resource
  • Status Update Resource
  • Review Request Resource
  • Change List Resource
  • Change Resource
  • Diff Context Resource
  • Diff List Resource
  • Diff Resource
  • Diff Commit List Resource
  • File Diff List Resource
  • File Attachment List Resource
  • File Attachment Resource
  • File Attachment Comment List Resource
  • Review List Resource
  • Review Resource
  • Review Diff Comment List Resource
  • Review File Attachment Comment List Resource
  • Review General Comment List Resource
  • Review Reply List Resource
  • Review Screenshot Comment List Resource
  • Review Draft Resource
  • Review Request Draft Resource
  • Draft Diff List Resource
  • Draft Diff Resource
  • Draft File Attachment List Resource
  • Draft File Attachment Resource
  • Draft Screenshot List Resource
  • Draft Screenshot Resource
  • Review Request Last Update Resource
  • Screenshot List Resource
  • Screenshot Resource
  • Screenshot Comment List Resource
  • Status Update List Resource
  • Status Update Resource
  • Review Request Last Update Resource
  • Screenshot List Resource
  • Screenshot Resource
  • Screenshot Comment List Resource
  • Screenshot Resource
  • Screenshot Comment List Resource
  • Screenshot Comment List Resource
  • Draft Diff List Resource
  • Draft Diff Resource
  • Draft Diff Commit List Resource
  • Draft Diff Commit Resource
  • Draft File Diff List Resource
  • Draft File Diff Resource
  • Draft Diff Resource
  • Draft Diff Commit List Resource
  • Draft Diff Commit Resource
  • Draft File Diff List Resource
  • Draft File Diff Resource
  • Draft Original File Resource
  • Draft Patched File Resource
  • Draft Diff Commit List Resource
  • Draft Diff Commit Resource
  • Draft Diff Commit Resource
  • Draft File Diff List Resource
  • Draft File Diff Resource
  • Draft Original File Resource
  • Draft Patched File Resource
  • Draft File Diff Resource
  • Draft Original File Resource
  • Draft Patched File Resource
  • Draft File Attachment List Resource
  • Draft File Attachment Resource
  • Draft File Attachment Resource
  • Draft Original File Resource
  • Draft Patched File Resource
  • Draft Screenshot List Resource
  • Draft Screenshot Resource
  • Draft Screenshot Resource
  • Review Request Draft Resource
  • Draft Diff List Resource
  • Draft Diff Resource
  • Draft Diff Commit List Resource
  • Draft File Diff List Resource
  • Draft File Attachment List Resource
  • Draft File Attachment Resource
  • Draft Screenshot List Resource
  • Draft Screenshot Resource
  • Root Review List Resource
  • Root Diff Comment List Resource
  • Root File Attachment Comment List Resource
  • Root General Comment List Resource
  • Review List Resource
  • Review Resource
  • Review Diff Comment List Resource
  • Review Diff Comment Resource
  • Review File Attachment Comment List Resource
  • Review File Attachment Comment Resource
  • Review General Comment List Resource
  • Review General Comment Resource
  • Review Reply List Resource
  • Review Reply Resource
  • Review Reply Draft Resource
  • Review Screenshot Comment List Resource
  • Review Screenshot Comment Resource
  • Review Draft Resource
  • Review Resource
  • Review Diff Comment List Resource
  • Review Diff Comment Resource
  • Review File Attachment Comment List Resource
  • Review File Attachment Comment Resource
  • Review General Comment List Resource
  • Review General Comment Resource
  • Review Reply List Resource
  • Review Reply Resource
  • Review Reply Diff Comment List Resource
  • Review Reply File Attachment Comment List Resource
  • Review Reply General Comment List Resource
  • Review Reply Screenshot Comment List Resource
  • Review Reply Draft Resource
  • Review Screenshot Comment List Resource
  • Review Screenshot Comment Resource
  • Review Draft Resource
  • Review Diff Comment List Resource
  • Review Diff Comment Resource
  • Review Diff Comment Resource
  • Review File Attachment Comment List Resource
  • Review File Attachment Comment Resource
  • Review File Attachment Comment Resource
  • Review General Comment List Resource
  • Review General Comment Resource
  • Review General Comment Resource
  • Review Screenshot Comment List Resource
  • Review Screenshot Comment Resource
  • Review Screenshot Comment Resource
  • Review Reply Draft Resource
  • Review Reply List Resource
  • Review Reply Resource
  • Review Reply Diff Comment List Resource
  • Review Reply Diff Comment Resource
  • Review Reply File Attachment Comment List Resource
  • Review Reply File Attachment Comment Resource
  • Review Reply General Comment List Resource
  • Review Reply General Comment Resource
  • Review Reply Screenshot Comment List Resource
  • Review Reply Screenshot Comment Resource
  • Review Reply Draft Resource
  • Review Reply Resource
  • Review Reply Diff Comment List Resource
  • Review Reply Diff Comment Resource
  • Review Reply File Attachment Comment List Resource
  • Review Reply File Attachment Comment Resource
  • Review Reply General Comment List Resource
  • Review Reply General Comment Resource
  • Review Reply Screenshot Comment List Resource
  • Review Reply Screenshot Comment Resource
  • Review Reply Diff Comment List Resource
  • Review Reply Diff Comment Resource
  • Review Reply Diff Comment Resource
  • Review Reply File Attachment Comment List Resource
  • Review Reply File Attachment Comment Resource
  • Review Reply File Attachment Comment Resource
  • Review Reply General Comment List Resource
  • Review Reply General Comment Resource
  • Review Reply General Comment Resource
  • Review Reply Screenshot Comment List Resource
  • Review Reply Screenshot Comment Resource
  • Review Reply Screenshot Comment Resource
  • Search Resource
  • Status Update List Resource
  • Status Update Resource
  • Status Update Resource
  • API Token List Resource
  • API Token Resource
  • API Token Resource
  • Archived Review Request List Resource
  • Archived Review Request Resource
  • Archived Review Request Resource
  • Muted Review Request List Resource
  • Muted Review Request Resource
  • Muted Review Request Resource
  • Session Resource
  • User List Resource
  • User Resource
  • API Token List Resource
  • API Token Resource
  • Archived Review Request List Resource
  • Archived Review Request Resource
  • Muted Review Request List Resource
  • Muted Review Request Resource
  • User File Attachment List Resource
  • User File Attachment Resource
  • Watched List Resource
  • Watched Review Group List Resource
  • Watched Review Request List Resource
  • User Resource
  • API Token List Resource
  • API Token Resource
  • Archived Review Request List Resource
  • Archived Review Request Resource
  • Muted Review Request List Resource
  • Muted Review Request Resource
  • User File Attachment List Resource
  • User File Attachment Resource
  • Watched List Resource
  • Watched Review Group List Resource
  • Watched Review Group Resource
  • Watched Review Request List Resource
  • Watched Review Request Resource
  • User File Attachment List Resource
  • User File Attachment Resource
  • User File Attachment Resource
  • Watched Review Group List Resource
  • Watched Review Group Resource
  • Watched Review Group Resource
  • Watched Review Request List Resource
  • Watched Review Request Resource
  • Watched Review Request Resource
  • Watched List Resource
  • Watched Review Group List Resource
  • Watched Review Group Resource
  • Watched Review Request List Resource
  • Watched Review Request Resource
  • Validation List Resource
  • Validate Diff List Resource
  • Validate Diff Commit List Resource
  • Validate Diff List Resource
  • Validate Diff Commit List Resource
  • WebHook List Resource
  • WebHook Resource
  • WebHook Resource
  • Errors
  • 100 - Does Not Exist
  • 101 - Permission Denied
  • 102 - Invalid Attribute
  • 103 - Not Logged In
  • 104 - Login Failed
  • 105 - Invalid Form Data
  • 106 - Missing Attribute
  • 107 - Enable Extension Failed
  • 108 - Disable Extension Failed
  • 109 - Extension Already Installed
  • 110 - Install Extension Failed
  • 111 - Duplicate Item
  • 112 - OAuth2 Missing Scope Error
  • 113 - OAuth2 Access Denied Error
  • 114 - Rate Limit Exceeded
  • 203 - Invalid Change Number
  • 204 - Change Number In Use
  • 205 - Missing Repository
  • 206 - Invalid Repository
  • 207 - Repository File Not Found
  • 208 - Invalid User
  • 209 - Repository Action Not Supported
  • 210 - Repository Information Error
  • 212 - Empty Changeset
  • 213 - Server Configuration Error
  • 214 - Bad Host Key
  • 215 - Unverified Host Key
  • 216 - Unverified Host Certificate
  • 217 - Missing User Key
  • 218 - Repository Authentication Error
  • 219 - Diff Empty
  • 220 - Diff Too Big
  • 221 - File Retrieval Error
  • 222 - Hosting Service Authentication Error
  • 223 - Group Already Exists
  • 224 - Diff Parse Error
  • 225 - Publish Error
  • 226 - User Query Error
  • 227 - Commit ID Already Exists
  • 228 - Token Generation Failed
  • 230 - Could not close review request
  • 231 - Could not reopen review request
  • 232 - Ship-It Revocation Error
  • REST API 2.0
  • Overview
  • Authenticating
  • API Token Policies
  • OAuth2 Authentication
  • Rich Text Fields and Types
  • Storing/Accessing Extra Data
  • Resources
  • Root List Resource
  • Default Reviewer List Resource
  • Default Reviewer Resource
  • Extension List Resource
  • Extension Resource
  • Hosting Service Account List Resource
  • Hosting Service Account Resource
  • Hosting Service List Resource
  • Hosting Service Resource
  • OAuth2 Applications List Resource
  • OAuth2 Applications Resource
  • OAuth2 Tokens List Resource
  • OAuth2 Tokens Resource
  • Repository List Resource
  • Repository Resource
  • Review Group List Resource
  • Review Group Resource
  • Review Request List Resource
  • Review Request Resource
  • Root Diff Comment List Resource
  • Root File Attachment Comment List Resource
  • Root General Comment List Resource
  • Root Review List Resource
  • Search Resource
  • Server Info Resource
  • Session Resource
  • User List Resource
  • User Resource
  • Validation List Resource
  • Validate Diff List Resource
  • Validate Diff Commit List Resource
  • WebHook List Resource
  • WebHook Resource
  • Server Info Resource
  • Default Reviewer List Resource
  • Default Reviewer Resource
  • Default Reviewer Resource
  • Diff Context Resource
  • Diff List Resource
  • Diff Resource
  • Diff Commit List Resource
  • File Diff List Resource
  • Diff Resource
  • Diff Commit List Resource
  • Diff Commit Resource
  • File Diff List Resource
  • File Diff Resource
  • Diff Commit List Resource
  • Diff Commit Resource
  • Diff Commit Resource
  • Diff File Attachment List Resource
  • Diff File Attachment Resource
  • Diff File Attachment Resource
  • Original File Resource
  • Patched File Resource
  • Extension List Resource
  • Extension Resource
  • Extension Resource
  • Hosting Service List Resource
  • Hosting Service Resource
  • Hosting Service Resource
  • Hosting Service Account List Resource
  • Hosting Service Account Resource
  • Remote Repository List Resource
  • Hosting Service Account Resource
  • Remote Repository List Resource
  • Remote Repository Resource
  • Remote Repository List Resource
  • Remote Repository Resource
  • Remote Repository Resource
  • OAuth2 Applications List Resource
  • OAuth2 Applications Resource
  • OAuth2 Applications Resource
  • OAuth2 Tokens List Resource
  • OAuth2 Tokens Resource
  • OAuth2 Tokens Resource
  • Repository List Resource
  • Repository Resource
  • Diff File Attachment List Resource
  • Repository Branches Resource
  • Repository Commits Resource
  • Repository Group List Resource
  • Repository Info Resource
  • Repository User List Resource
  • Repository Resource
  • Diff File Attachment List Resource
  • Diff File Attachment Resource
  • Repository Branches Resource
  • Repository Commits Resource
  • Repository Group List Resource
  • Repository Group Resource
  • Repository Info Resource
  • Repository User List Resource
  • Repository User Resource
  • Repository Branches Resource
  • Repository Commits Resource
  • Repository Group List Resource
  • Repository Group Resource
  • Repository Group Resource
  • Repository Info Resource
  • Repository User List Resource
  • Repository User Resource
  • Repository User Resource
  • Review Group List Resource
  • Review Group Resource
  • Review Group User List Resource
  • Review Group Resource
  • Review Group User List Resource
  • Review Group User Resource
  • Review Group User List Resource
  • Review Group User Resource
  • Review Group User Resource
  • Change List Resource
  • Change Resource
  • Change Resource
  • File Attachment List Resource
  • File Attachment Resource
  • File Attachment Comment List Resource
  • File Attachment Resource
  • File Attachment Comment List Resource
  • File Attachment Comment List Resource
  • File Diff List Resource
  • File Diff Resource
  • File Diff Comment List Resource
  • Original File Resource
  • Patched File Resource
  • File Diff Resource
  • File Diff Comment List Resource
  • Original File Resource
  • Patched File Resource
  • File Diff Comment List Resource
  • Review Request List Resource
  • Review Request Resource
  • Change List Resource
  • Diff Context Resource
  • Diff List Resource
  • File Attachment List Resource
  • Review List Resource
  • Review Request Draft Resource
  • Review Request Last Update Resource
  • Screenshot List Resource
  • Status Update List Resource
  • Review Request Resource
  • Change List Resource
  • Change Resource
  • Diff Context Resource
  • Diff List Resource
  • Diff Resource
  • File Attachment List Resource
  • File Attachment Resource
  • Review List Resource
  • Review Resource
  • Review Draft Resource
  • Review Request Draft Resource
  • Draft Diff List Resource
  • Draft File Attachment List Resource
  • Draft Screenshot List Resource
  • Review Request Last Update Resource
  • Screenshot List Resource
  • Screenshot Resource
  • Status Update List Resource
  • Status Update Resource
  • Review Request Last Update Resource
  • Screenshot List Resource
  • Screenshot Resource
  • Screenshot Comment List Resource
  • Screenshot Resource
  • Screenshot Comment List Resource
  • Screenshot Comment List Resource
  • Draft Diff List Resource
  • Draft Diff Resource
  • Draft Diff Commit List Resource
  • Draft File Diff List Resource
  • Draft Diff Resource
  • Draft Diff Commit List Resource
  • Draft Diff Commit Resource
  • Draft File Diff List Resource
  • Draft File Diff Resource
  • Draft Diff Commit List Resource
  • Draft Diff Commit Resource
  • Draft Diff Commit Resource
  • Draft File Diff List Resource
  • Draft File Diff Resource
  • Draft Original File Resource
  • Draft Patched File Resource
  • Draft File Diff Resource
  • Draft Original File Resource
  • Draft Patched File Resource
  • Draft File Attachment List Resource
  • Draft File Attachment Resource
  • Draft File Attachment Resource
  • Draft Original File Resource
  • Draft Patched File Resource
  • Draft Screenshot List Resource
  • Draft Screenshot Resource
  • Draft Screenshot Resource
  • Review Request Draft Resource
  • Draft Diff List Resource
  • Draft Diff Resource
  • Draft File Attachment List Resource
  • Draft File Attachment Resource
  • Draft Screenshot List Resource
  • Draft Screenshot Resource
  • Root Review List Resource
  • Root Diff Comment List Resource
  • Root File Attachment Comment List Resource
  • Root General Comment List Resource
  • Review List Resource
  • Review Resource
  • Review Diff Comment List Resource
  • Review File Attachment Comment List Resource
  • Review General Comment List Resource
  • Review Reply List Resource
  • Review Screenshot Comment List Resource
  • Review Draft Resource
  • Review Resource
  • Review Diff Comment List Resource
  • Review Diff Comment Resource
  • Review File Attachment Comment List Resource
  • Review File Attachment Comment Resource
  • Review General Comment List Resource
  • Review General Comment Resource
  • Review Reply List Resource
  • Review Reply Resource
  • Review Reply Draft Resource
  • Review Screenshot Comment List Resource
  • Review Screenshot Comment Resource
  • Review Draft Resource
  • Review Diff Comment List Resource
  • Review Diff Comment Resource
  • Review Diff Comment Resource
  • Review File Attachment Comment List Resource
  • Review File Attachment Comment Resource
  • Review File Attachment Comment Resource
  • Review General Comment List Resource
  • Review General Comment Resource
  • Review General Comment Resource
  • Review Screenshot Comment List Resource
  • Review Screenshot Comment Resource
  • Review Screenshot Comment Resource
  • Review Reply Draft Resource
  • Review Reply List Resource
  • Review Reply Resource
  • Review Reply Diff Comment List Resource
  • Review Reply File Attachment Comment List Resource
  • Review Reply General Comment List Resource
  • Review Reply Screenshot Comment List Resource
  • Review Reply Draft Resource
  • Review Reply Resource
  • Review Reply Diff Comment List Resource
  • Review Reply Diff Comment Resource
  • Review Reply File Attachment Comment List Resource
  • Review Reply File Attachment Comment Resource
  • Review Reply General Comment List Resource
  • Review Reply General Comment Resource
  • Review Reply Screenshot Comment List Resource
  • Review Reply Screenshot Comment Resource
  • Review Reply Diff Comment List Resource
  • Review Reply Diff Comment Resource
  • Review Reply Diff Comment Resource
  • Review Reply File Attachment Comment List Resource
  • Review Reply File Attachment Comment Resource
  • Review Reply File Attachment Comment Resource
  • Review Reply General Comment List Resource
  • Review Reply General Comment Resource
  • Review Reply General Comment Resource
  • Review Reply Screenshot Comment List Resource
  • Review Reply Screenshot Comment Resource
  • Review Reply Screenshot Comment Resource
  • Search Resource
  • Status Update List Resource
  • Status Update Resource
  • Status Update Resource
  • API Token List Resource
  • API Token Resource
  • API Token Resource
  • Archived Review Request List Resource
  • Archived Review Request Resource
  • Archived Review Request Resource
  • Muted Review Request List Resource
  • Muted Review Request Resource
  • Muted Review Request Resource
  • Session Resource
  • User List Resource
  • User Resource
  • API Token List Resource
  • Archived Review Request List Resource
  • Muted Review Request List Resource
  • User File Attachment List Resource
  • Watched List Resource
  • User Resource
  • API Token List Resource
  • API Token Resource
  • Archived Review Request List Resource
  • Archived Review Request Resource
  • Muted Review Request List Resource
  • Muted Review Request Resource
  • User File Attachment List Resource
  • User File Attachment Resource
  • Watched List Resource
  • Watched Review Group List Resource
  • Watched Review Request List Resource
  • User File Attachment List Resource
  • User File Attachment Resource
  • User File Attachment Resource
  • Watched Review Group List Resource
  • Watched Review Group Resource
  • Watched Review Group Resource
  • Watched Review Request List Resource
  • Watched Review Request Resource
  • Watched Review Request Resource
  • Watched List Resource
  • Watched Review Group List Resource
  • Watched Review Group Resource
  • Watched Review Request List Resource
  • Watched Review Request Resource
  • Validation List Resource
  • Validate Diff List Resource
  • Validate Diff Commit List Resource
  • Validate Diff List Resource
  • Validate Diff Commit List Resource
  • WebHook List Resource
  • WebHook Resource
  • WebHook Resource
  • Errors
  • 100 - Does Not Exist
  • 101 - Permission Denied
  • 102 - Invalid Attribute
  • 103 - Not Logged In
  • 104 - Login Failed
  • 105 - Invalid Form Data
  • 106 - Missing Attribute
  • 107 - Enable Extension Failed
  • 108 - Disable Extension Failed
  • 109 - Extension Already Installed
  • 110 - Install Extension Failed
  • 111 - Duplicate Item
  • 112 - OAuth2 Missing Scope Error
  • 113 - OAuth2 Access Denied Error
  • 114 - Rate Limit Exceeded
  • 203 - Invalid Change Number
  • 204 - Change Number In Use
  • 205 - Missing Repository
  • 206 - Invalid Repository
  • 207 - Repository File Not Found
  • 208 - Invalid User
  • 209 - Repository Action Not Supported
  • 210 - Repository Information Error
  • 212 - Empty Changeset
  • 213 - Server Configuration Error
  • 214 - Bad Host Key
  • 215 - Unverified Host Key
  • 216 - Unverified Host Certificate
  • 217 - Missing User Key
  • 218 - Repository Authentication Error
  • 219 - Diff Empty
  • 220 - Diff Too Big
  • 221 - File Retrieval Error
  • 222 - Hosting Service Authentication Error
  • 223 - Group Already Exists
  • 224 - Diff Parse Error
  • 225 - Publish Error
  • 226 - User Query Error
  • 227 - Commit ID Already Exists
  • 228 - Token Generation Failed
  • 230 - Could not close review request
  • 231 - Could not reopen review request
  • 232 - Ship-It Revocation Error
  • Glossary
  • Extending Review Board
  • Extension Files and Package Layout
  • Creating an Extension Class
  • Adding a Configuration Form
  • Providing Database Models
  • Providing Static Media Files
  • Writing JavaScript Extensions
  • Writing Extension Unit Tests
  • Packaging and Distributing Extensions
  • Pre-defined URL Names
  • Extension Hooks
  • AccountPageFormsHook
  • AccountPagesHook
  • ActionHook
  • AdminWidgetHook
  • APIExtraDataAccessHook
  • AuthBackendHook
  • AvatarServiceHook
  • CommentDetailDisplayHook
  • DashboardColumnsHook
  • DashboardSidebarItemsHook
  • DataGridColumnsHook
  • EmailHook
  • ReviewRequestPublishedEmailHook
  • ReviewRequestClosedEmailHook
  • ReviewPublishedEmailHook
  • ReviewReplyPublishedEmailHook
  • FileAttachmentThumbnailHook
  • FileDiffACLHook
  • HideActionHook
  • HostingServiceHook
  • IntegrationHook
  • NavigationBarHook
  • ReviewRequestApprovalHook
  • ReviewRequestConditionChoicesHook
  • ReviewRequestFieldsHook
  • ReviewRequestFieldSetsHook
  • ReviewUIHook
  • SCMToolHook
  • SignalHook
  • TemplateHook
  • URLHook
  • UserDetailsProviderHook
  • UserInfoboxHook
  • UserPageSidebarItemsHook
  • WebAPICapabilitiesHook
  • Writing Review Board Extensions
  • Making a Review Board Extension
  • The rbext Tool
  • Extension Hooks
  • AccountPageFormsHook
  • AccountPagesHook
  • ActionHook
  • AdminWidgetHook
  • APIExtraDataAccessHook
  • AuthBackendHook
  • AvatarServiceHook
  • CommentDetailDisplayHook
  • DashboardColumnsHook
  • DashboardSidebarItemsHook
  • DataGridColumnsHook
  • EmailHook
  • ReviewRequestPublishedEmailHook
  • ReviewRequestClosedEmailHook
  • ReviewPublishedEmailHook
  • ReviewReplyPublishedEmailHook
  • FileAttachmentThumbnailHook
  • FileDiffACLHook
  • HideActionHook
  • HostingServiceHook
  • IntegrationHook
  • NavigationBarHook
  • ReviewRequestApprovalHook
  • ReviewRequestConditionChoicesHook
  • ReviewRequestFieldsHook
  • ReviewRequestFieldSetsHook
  • ReviewUIHook
  • SCMToolHook
  • SignalHook
  • TemplateHook
  • URLHook
  • UserDetailsProviderHook
  • UserInfoboxHook
  • UserPageSidebarItemsHook
  • WebAPICapabilitiesHook
  • JavaScript Extension Hooks
  • CommentDialogHook
  • FileAttachmentThumbnailContainerHook
  • ReviewDialogCommentHook
  • ReviewDialogHook
  • Customizing the UI with Actions
  • Customizing the Dashboard Columns
  • Customizing Review Request Conditions
  • Adding Page Banners
  • Adding Review Request Fields
  • Adding UIs for New File Types (Review UIs)
  • Writing Authentication Backends
  • Writing Legacy Authentication Backends
  • Extending the Web API
  • Module and Class References
  • reviewboard
  • reviewboard.deprecation
  • reviewboard.rb_platform
  • reviewboard.signals
  • reviewboard.urls
  • reviewboard.accounts.backends
  • reviewboard.accounts.backends.ad
  • reviewboard.accounts.backends.base
  • reviewboard.accounts.backends.http_digest
  • reviewboard.accounts.backends.ldap
  • reviewboard.accounts.backends.nis
  • reviewboard.accounts.backends.registry
  • reviewboard.accounts.backends.standard
  • reviewboard.accounts.backends.x509
  • reviewboard.accounts.decorators
  • reviewboard.accounts.errors
  • reviewboard.accounts.forms.auth
  • reviewboard.accounts.forms.pages
  • reviewboard.accounts.forms.registration
  • reviewboard.accounts.managers
  • reviewboard.accounts.middleware
  • reviewboard.accounts.mixins
  • reviewboard.accounts.models
  • reviewboard.accounts.pages
  • reviewboard.accounts.privacy
  • reviewboard.accounts.templatetags.accounts
  • reviewboard.accounts.testing
  • reviewboard.accounts.testing.queries
  • reviewboard.accounts.trophies
  • reviewboard.accounts.user_details
  • reviewboard.actions
  • reviewboard.actions.base
  • reviewboard.actions.errors
  • reviewboard.actions.registry
  • reviewboard.actions.renderers
  • reviewboard.admin
  • reviewboard.admin.actions
  • reviewboard.admin.admin_sites
  • reviewboard.admin.cache_stats
  • reviewboard.admin.checks
  • reviewboard.admin.decorators
  • reviewboard.admin.form_widgets
  • reviewboard.admin.middleware
  • reviewboard.admin.model_admin
  • reviewboard.admin.security_checks
  • reviewboard.admin.server
  • reviewboard.admin.siteconfig
  • reviewboard.admin.support
  • reviewboard.admin.validation
  • reviewboard.admin.widgets
  • reviewboard.attachments.errors
  • reviewboard.attachments.forms
  • reviewboard.attachments.managers
  • reviewboard.attachments.mimetypes
  • reviewboard.attachments.models
  • reviewboard.avatars.registry
  • reviewboard.avatars.services
  • reviewboard.avatars.settings
  • reviewboard.avatars.templatetags.avatars
  • reviewboard.avatars.testcase
  • reviewboard.changedescs.models
  • reviewboard.datagrids.columns
  • reviewboard.datagrids.grids
  • reviewboard.datagrids.sidebar
  • reviewboard.diffviewer.chunk_generator
  • reviewboard.diffviewer.differ
  • reviewboard.diffviewer.diffutils
  • reviewboard.diffviewer.errors
  • reviewboard.diffviewer.forms
  • reviewboard.diffviewer.managers
  • reviewboard.diffviewer.models
  • reviewboard.diffviewer.models.diffcommit
  • reviewboard.diffviewer.models.diffset
  • reviewboard.diffviewer.models.diffset_history
  • reviewboard.diffviewer.models.filediff
  • reviewboard.diffviewer.models.legacy_file_diff_data
  • reviewboard.diffviewer.models.raw_file_diff_data
  • reviewboard.diffviewer.myersdiff
  • reviewboard.diffviewer.opcode_generator
  • reviewboard.diffviewer.parser
  • reviewboard.diffviewer.processors
  • reviewboard.diffviewer.renderers
  • reviewboard.diffviewer.smdiff
  • reviewboard.certs
  • reviewboard.certs.cert
  • reviewboard.certs.errors
  • reviewboard.certs.utils
  • reviewboard.extensions.base
  • reviewboard.extensions.hooks
  • reviewboard.extensions.packaging
  • reviewboard.extensions.packaging.backend
  • reviewboard.extensions.packaging.setuptools_backend
  • reviewboard.extensions.packaging.static_media
  • reviewboard.extensions.testing
  • reviewboard.extensions.testing.testcases
  • reviewboard.hostingsvcs.base
  • reviewboard.hostingsvcs.base.bug_tracker
  • reviewboard.hostingsvcs.base.client
  • reviewboard.hostingsvcs.base.forms
  • reviewboard.hostingsvcs.base.hosting_service
  • reviewboard.hostingsvcs.base.http
  • reviewboard.hostingsvcs.base.paginator
  • reviewboard.hostingsvcs.base.registry
  • reviewboard.hostingsvcs.base.repository
  • reviewboard.hostingsvcs.errors
  • reviewboard.hostingsvcs.forms
  • reviewboard.hostingsvcs.hook_utils
  • reviewboard.hostingsvcs.models
  • reviewboard.hostingsvcs.repository
  • reviewboard.hostingsvcs.service
  • reviewboard.hostingsvcs.testing
  • reviewboard.hostingsvcs.testing.testcases
  • reviewboard.hostingsvcs.utils.paginator
  • reviewboard.integrations
  • reviewboard.integrations.base
  • reviewboard.integrations.forms
  • reviewboard.integrations.models
  • reviewboard.integrations.urls
  • reviewboard.integrations.views
  • reviewboard.licensing
  • reviewboard.licensing.actions
  • reviewboard.licensing.errors
  • reviewboard.licensing.features
  • reviewboard.licensing.license
  • reviewboard.licensing.license_checks
  • reviewboard.licensing.provider
  • reviewboard.licensing.registry
  • reviewboard.licensing.views
  • reviewboard.notifications
  • reviewboard.notifications.email
  • reviewboard.notifications.email.backend
  • reviewboard.notifications.email.decorators
  • reviewboard.notifications.email.hooks
  • reviewboard.notifications.email.message
  • reviewboard.notifications.email.utils
  • reviewboard.notifications.email.views
  • reviewboard.notifications.forms
  • reviewboard.notifications.managers
  • reviewboard.notifications.models
  • reviewboard.notifications.webhooks
  • reviewboard.reviews.actions
  • reviewboard.reviews.builtin_fields
  • reviewboard.reviews.chunk_generators
  • reviewboard.reviews.conditions
  • reviewboard.reviews.context
  • reviewboard.reviews.default_actions
  • reviewboard.reviews.detail
  • reviewboard.reviews.errors
  • reviewboard.reviews.features
  • reviewboard.reviews.fields
  • reviewboard.reviews.forms
  • reviewboard.reviews.managers
  • reviewboard.reviews.markdown_utils
  • reviewboard.reviews.models
  • reviewboard.reviews.signals
  • reviewboard.reviews.templatetags.reviewtags
  • reviewboard.reviews.testing
  • reviewboard.reviews.testing.queries
  • reviewboard.reviews.testing.queries.review_groups
  • reviewboard.reviews.testing.queries.review_requests
  • reviewboard.reviews.testing.queries.reviews
  • reviewboard.reviews.ui.base
  • reviewboard.reviews.ui.image
  • reviewboard.reviews.ui.markdownui
  • reviewboard.reviews.ui.text
  • reviewboard.reviews.views.attachments
  • reviewboard.reviews.views.bug_trackers
  • reviewboard.reviews.views.diff_fragments
  • reviewboard.reviews.views.diffviewer
  • reviewboard.reviews.views.download_diff
  • reviewboard.reviews.views.email
  • reviewboard.reviews.views.mixins
  • reviewboard.reviews.views.new_review_request
  • reviewboard.reviews.views.review_request_detail
  • reviewboard.reviews.views.review_request_infobox
  • reviewboard.reviews.views.review_request_updates
  • reviewboard.reviews.views.root
  • reviewboard.scmtools.certs
  • reviewboard.scmtools.conditions
  • reviewboard.scmtools.core
  • reviewboard.scmtools.crypto_utils
  • reviewboard.scmtools.errors
  • reviewboard.scmtools.forms
  • reviewboard.scmtools.managers
  • reviewboard.scmtools.models
  • reviewboard.scmtools.signals
  • reviewboard.scmtools.testing
  • reviewboard.scmtools.testing.queries
  • reviewboard.scmtools.tests.testcases
  • reviewboard.search.fields
  • reviewboard.search.forms
  • reviewboard.search.indexes
  • reviewboard.search.search_backends.base
  • reviewboard.search.search_backends.elasticsearch
  • reviewboard.search.search_backends.registry
  • reviewboard.search.search_backends.whoosh
  • reviewboard.search.signal_processor
  • reviewboard.search.testing
  • reviewboard.site.conditions
  • reviewboard.site.context_processors
  • reviewboard.site.decorators
  • reviewboard.site.middleware
  • reviewboard.site.mixins
  • reviewboard.site.models
  • reviewboard.site.signals
  • reviewboard.site.templatetags.localsite
  • reviewboard.site.testing
  • reviewboard.site.testing.queries
  • reviewboard.site.urlresolvers
  • reviewboard.site.validation
  • reviewboard.ssh.client
  • reviewboard.ssh.errors
  • reviewboard.ssh.policy
  • reviewboard.ssh.storage
  • reviewboard.ssh.utils
  • reviewboard.testing.hosting_services
  • reviewboard.testing.queries
  • reviewboard.testing.queries.base
  • reviewboard.testing.queries.http
  • reviewboard.testing.scmtool
  • reviewboard.testing.testcase
  • reviewboard.themes
  • reviewboard.themes.context_processors
  • reviewboard.themes.ui
  • reviewboard.themes.ui.base
  • reviewboard.themes.ui.default
  • reviewboard.themes.ui.registry
  • reviewboard.webapi.auth_backends
  • reviewboard.webapi.base
  • reviewboard.webapi.decorators
  • reviewboard.webapi.errors
  • reviewboard.webapi.mixins
  • reviewboard.webapi.models
  • reviewboard.webapi.server_info
  • reviewboard.webapi.testing
  • reviewboard.webapi.testing.queries
  • reviewboard.webapi.tests.base
  • Frequently Asked Questions
  • General Index
  • Python Module Index
  • Release Notes
  • reviewboard.certs.cert¶

    Certificates, fingerprints, and bundles.

    New in version 6.0.

    SANValue¶

    A value in a certificate SAN field.

    New in version 8.0.

    alias of Union[IPv4Address, IPv4Network, IPv6Address, IPv6Network, str]

    class CertDataFormat(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]¶

    Bases: Enum

    Certificate data formats.

    New in version 6.0.

    PEM = 'PEM'[source]¶

    PEM-formatted certificate data.

    class CertPurpose(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]¶

    Bases: Enum

    The purpose of a certificate.

    New in version 8.0.

    TRUST = 'trust'[source]¶

    A certificate used to verify and trust a server.

    CLIENT = 'client'[source]¶

    A certificate used to identify the client for authentication.

    class CertificateFingerprints(*, sha1: str | None = None, sha256: str | None = None)[source]¶

    Bases: object

    Representation of certificate fingerprints.

    New in version 6.0.

    SHA1_FINGERPRINT_RE = re.compile('(?:[0-9A-F]{2}:){19}[0-9A-F]{2}', re.IGNORECASE)[source]¶

    Regex for matching a SHA1 fingerprint.

    New in version 8.0.

    SHA1_RE = re.compile('[0-9A-F]{40}', re.IGNORECASE)[source]¶

    Regex for matching a SHA1 string.

    New in version 8.0.

    SHA256_FINGERPRINT_RE = re.compile('(?:[0-9A-F]{2}:){31}[0-9A-F]{2}', re.IGNORECASE)[source]¶

    Regex for matching a SHA256 fingerprint.

    New in version 8.0.

    SHA256_RE = re.compile('[0-9A-F]{64}', re.IGNORECASE)[source]¶

    Regex for matching a SHA256 string.

    New in version 8.0.

    classmethod from_json(data: SerializableDjangoJSONDictImmutable) → Self[source]¶

    Return a new instance from a serialized JSON payload.

    The payload is expected to be in the following format:

    Keys:
    • sha1 (str, optional) – The human-readable SHA1 fingerprint in AA:BB:CC... form.

    • sha256 (str, optional) – The human-readable SHA256 fingerprint in AA:BB:CC... form.

    Parameters:

    data (dict) – The JSON dictionary containing the fingerprint information.

    Returns:

    The parsed fingerprints instance.

    Return type:

    CertificateFingerprints

    classmethod from_string(fingerprint: str) → Optional[Self][source]¶

    Return a new instance from a single fingerprint string.

    This will normalize the provided fingerprint (stripping any whitespace), determine if this is SHA-1 or SHA-256, and then return a new instance if the value is supported.

    New in version 8.0.

    Parameters:

    fingerprint (str) – The fingerprint string in AA:BB:CC... format.

    Returns:

    The resulting fingerprints instance, or None if the string length doesn’t match a known algorithm.

    Return type:

    reviewboard.certs.cert.CertificateFingerprints

    classmethod from_x509_cert(x509_cert: Certificate) → Self[source]¶

    Return a new instance from a Cryptography X509 certificate.

    Parameters:

    x509_cert (cryptography.x509.Certificate) – The Cryptography certificate used to load the fingerprints.

    Returns:

    The loaded fingerprints instance.

    Return type:

    CertificateFingerprints

    __init__(*, sha1: str | None = None, sha256: str | None = None) → None[source]¶

    Initialize the certificate fingerprints instance.

    Parameters:
    • sha1 (str) – The SHA1 fingerprint in AA:BB:CC... format.

    • shaw256 (str) – The SHA256 fingerprint in AA:BB:CC... format.

    sha1: str | None = None¶

    The human-readable SHA1 fingerprint.

    sha256: str | None = None¶

    The human-readable SHA256 fingerprint.

    to_json() → SerializableDjangoJSONDictImmutable[source]¶

    Serialize the fingerprints to a JSON payload.

    Returns:

    The resulting JSON payload, containing:

    Keys:
    • sha1 (str, optional) – A human-readable SHA1 fingerprint in AA:BB:CC... form.

    • sha256 (str, optional) – A human-readable SHA256 fingerprint in AA:BB:CC... form.

    These keys will only be present if there are fingerprints available.

    Return type:

    dict

    is_empty() → bool[source]¶

    Return whether these fingerprints are empty.

    Returns:

    True if the fingerprints are empty (no fingerprints are stored). False if there are fingerprints available.

    Return type:

    bool

    matches(other: CertificateFingerprints) → bool[source]¶

    Return whether one set of fingerprints matches another.

    This will compare any available fingerprints between two instances, returning whether there’s a match.

    Parameters:

    other (CertificateFingerprints) – The other instance to compare to.

    Returns:

    True if there is a match between two instances. False if there is not.

    Return type:

    bool

    __eq__(other: object) → bool[source]¶

    Return whether this object is equal to another.

    Two objects are equal if they’re both CertificateFingerprints instances and contain the same signatures.

    Parameters:

    other (object) – The object to compare this to.

    Returns:

    True if they are equal. False if they are not.

    Return type:

    bool

    __repr__() → str[source]¶

    Return a string representation of the instance.

    Returns:

    The string representation.

    Return type:

    str

    __hash__ = None¶
    class Certificate(*, hostname: str, port: int, cert_data: bytes | None = None, key_data: bytes | None = None, data_format: ~reviewboard.certs.cert.CertDataFormat = CertDataFormat.PEM, purpose: ~reviewboard.certs.cert.CertPurpose = CertPurpose.TRUST, fingerprints: ~typing.Union[~typing.Literal[<UnsetSymbol.UNSET: '<UNSET>'>], ~reviewboard.certs.cert.CertificateFingerprints] = UnsetSymbol.UNSET, issuer: ~typing.Union[~typing.Literal[<UnsetSymbol.UNSET: '<UNSET>'>], str] = UnsetSymbol.UNSET, subject: ~typing.Union[~typing.Literal[<UnsetSymbol.UNSET: '<UNSET>'>], str] = UnsetSymbol.UNSET, valid_from: ~typing.Union[~typing.Literal[<UnsetSymbol.UNSET: '<UNSET>'>], ~datetime.datetime] = UnsetSymbol.UNSET, valid_through: ~typing.Union[~typing.Literal[<UnsetSymbol.UNSET: '<UNSET>'>], ~datetime.datetime] = UnsetSymbol.UNSET)[source]¶

    Bases: object

    A representation of a SSL/TLS certificate.

    This may be an incomplete representation, with only the hostname and at least one fingerprint being required. It can be used to convey information about certificates from a server or tool, or used to provide data for storage.

    There are two types of certificates:

    • Trust certificates.

      These are used to verify a remote server’s certificate during TLS. These may be root CA certificates, intermediate CA certificates, self-signed server certificates, or other certificates used as trust anchors.

      They do not include a private key.

    • Client certificates.

      These are used to authenticate Review Board with a remote service during mutual TLS. This requires an associated private key.

    Consumers should take care not to modify any certificate data after loading. While it’s possible to change the data, doing so can lead to incorrect results, as some data is computed and then cached on the instance and cannot be updated later.

    Changed in version 8.0: Added explicit support for specifying a certificate purpose.

    New in version 6.0.

    classmethod create_from_files(*, hostname: str, port: int, cert_path: str, key_path: str | None = None, data_format: CertDataFormat = CertDataFormat.PEM, purpose: CertPurpose = CertPurpose.TRUST) → Self[source]¶

    Return an instance parsed from a PEM bundle file.

    Changed in version 8.0:

    • Added the purpose argument.

    • This may now raise ValueError if providing an invalid combination of arguments.

    Parameters:
    • hostname (str) – The primary hostname the certificate represents, used for lookup.

    • port (int) – The port that served the certificate.

    • cert_path (str) – The path to the local certificate file.

    • key_path (str) – The path to the local private key.

    • data_format (CertDataFormat, optional) – The format of the data stored in cert_path.

    • purpose (CertPurpose, optional) –

      The purpose of the certificate.

      This sets whether the certificate should be used to trust a remote server or authenticate Review Board.

      By default, the purpose is to trust the server.

      New in version 8.0.

    Raises:
    • ValueError – One or more arguments were invalid. .. versionadded:: 8.0

    • reviewboard.certs.errors.CertificateNotFoundError – One or more of the certificate files was not found.

    • reviewboard.certs.errors.CertificateStorageError – There was an error loading the CA bundle. Details are in the error message.

    classmethod create_from_server(*, hostname: str, port: int) → Optional[Self][source]¶

    Return a Certificate from a remote server.

    This is useful when inspecting a server or preparing an error response when certificate validation fails.

    New in version 7.1.

    Parameters:
    • hostname (str) – The hostname of the server.

    • port (int) – The port of the server.

    Returns:

    The fetched certificate, or None if it could not be fetched.

    Return type:

    Certificate

    __init__(*, hostname: str, port: int, cert_data: bytes | None = None, key_data: bytes | None = None, data_format: ~reviewboard.certs.cert.CertDataFormat = CertDataFormat.PEM, purpose: ~reviewboard.certs.cert.CertPurpose = CertPurpose.TRUST, fingerprints: ~typing.Union[~typing.Literal[<UnsetSymbol.UNSET: '<UNSET>'>], ~reviewboard.certs.cert.CertificateFingerprints] = UnsetSymbol.UNSET, issuer: ~typing.Union[~typing.Literal[<UnsetSymbol.UNSET: '<UNSET>'>], str] = UnsetSymbol.UNSET, subject: ~typing.Union[~typing.Literal[<UnsetSymbol.UNSET: '<UNSET>'>], str] = UnsetSymbol.UNSET, valid_from: ~typing.Union[~typing.Literal[<UnsetSymbol.UNSET: '<UNSET>'>], ~datetime.datetime] = UnsetSymbol.UNSET, valid_through: ~typing.Union[~typing.Literal[<UnsetSymbol.UNSET: '<UNSET>'>], ~datetime.datetime] = UnsetSymbol.UNSET) → None[source]¶

    Initialize the certificate.

    Changed in version 8.0: Added the purpose argument.

    Parameters:
    • hostname (str) – The hostname that would serve this certificate.

    • port (int) – The port on the host that would serve this certificate.

    • cert_data (bytes) –

      The loaded certificate data.

      This must be in the format defined by data_format.

    • key_data (bytes, optional) –

      The loaded private key data, if available.

      This must be in the format defined by data_format.

    • data_format (CertDataFormat, optional) –

      The format used for cert_data and key_data.

      This currently only accepts PEM-encoded data.

    • purpose (CertPurpose, optional) –

      The purpose of the certificate.

      This sets whether the certificate should be used to trust a remote server or authenticate Review Board.

      By default, the purpose is to trust the server.

      New in version 8.0.

    • subject (str, optional) –

      The subject (usually the hostname) of the certificate.

      If not provided, this will be loaded from cert_data when needed (and if cert_data is provided).

    • issuer (str, optional) –

      The issuer of the certificate.

      If not provided, this will be loaded from cert_data when needed (and if cert_data is provided).

    • valid_from (datetime, optional) –

      The first date/time in which the certificate is valid.

      This must have a timezone associated with it.

      If not provided, this will be loaded from cert_data when needed (and if cert_data is provided).

    • valid_through (datetime, optional) –

      The last date/time in which the certificate is valid.

      This must have a timezone associated with it.

      If not provided, this will be loaded from cert_data when needed (and if cert_data is provided).

    • fingerprints (CertificateFingerprints, optional) –

      Fingerprints to set for the certificate.

      If not provided, this will be loaded from cert_data when needed (and if cert_data is provided).

    Raises:

    ValueError – One or more arguments were invalid.

    cert_data: bytes | None¶

    The loaded certificate data.

    This will always be available for stored certificates, but may not be available as part of error responses.

    If available, it will match the format specified in data_format.

    data_format: CertDataFormat¶

    The format for the loaded certificate and private key data.

    hostname: str¶

    The hostname that would serve this certificate.

    Note that this may be a wildcard domain (e.g., *.example.com).

    key_data: bytes | None¶

    The loaded private key data, if available.

    This will match the format specified in data_format.

    port: int¶

    The port on the host that would serve this certificate.

    purpose: CertPurpose¶

    The purpose set for a certificate.

    This defines whether the certificate is used for trusting a remote server or authenticating Review Board with a service.

    New in version 8.0.

    property fingerprints: reviewboard.certs.cert.CertificateFingerprints | None[source]¶

    Fingerprints for the certificate.

    Type:

    CertificateFingerprints

    x509_cert[source]¶

    A Cryptography X509 Certificate representing this certificate.

    This will be created from the loaded from the certificate data stored in cert_data. The created instance will be locally cached for future lookups.

    If certificate data is not available, this will be None.

    Type:

    cryptography.x509.Certificate

    property subject: str | None[source]¶

    The subject of the certificate.

    Type:

    str

    subject_alternative_names[source]¶

    The Subject Alternative Names of the certificate.

    This will include structured values for any DNS and IP addresses found in the Subject Alternative Names extension of the certificate, if present.

    New in version 8.0.

    Type:

    list of SANValue – A list of supported SAN values.

    property issuer: str | None[source]¶

    The issuer of the certificate.

    Type:

    str

    property valid_from: datetime.datetime | None[source]¶

    The date/time in which the certificate is first valid.

    Type:

    datetime.datetime

    property valid_through: datetime.datetime | None[source]¶

    The last date/time in which the certificate is valid.

    Type:

    datetime.datetime

    property is_valid: bool[source]¶

    Whether this certificate is still considered valid.

    The certificate is valid if the current date/time is within its validity date range.

    Type:

    bool

    property is_wildcard: bool[source]¶

    Whether this is a wildcard certificate.

    Wildcard certificates pertain to multiple domains (e.g., *.example.com, *a.example.com, or b*.example.com).

    Type:

    bool

    matches_host(hostname_or_ip: str) → bool[source]¶

    Return whether the certificate matches the provided hostname or IP.

    A certificate is a match if any of the following conditions are true:

    • The subject is a match for the hostname.

    • The first label of a cert hostname is a wildcard and matches the first label of the hostname, and the remaining labels are a match.

    • The value is an IPv4/IPv6 address and matches a SAN entry.

    Hostnames are all normalized for comparison.

    Partial wildcards (e.g., foo*.example.com, *bar.example.com, or foo*bar.example.com) are not supported. Most Certificate Authorities no longer support these, and major browsers (including Chrome) consider them security risks.

    New in version 8.0.

    Parameters:

    hostname_or_ip (str) – The hostname or IP address to check.

    Returns:

    True if the host is matched by the certificate. False if it is not.

    Return type:

    bool

    to_json() → SerializableDjangoJSONDictImmutable[source]¶

    Serialize the certificate to data ready to be serialized to JSON.

    Returns:

    The resulting JSON payload, containing:

    Keys:
    • fingerprints (dict) – A dictionary of fingerprints for the certificate, or None if not available.

    • hostname (str) – The hostname serving the certificate.

    • issuer (str) – The issuer of the certificate, or None if not available.

    • port (int) – The port on the host serving the certificate.

    • purpose (str) – The purpose of the certificate.

      New in version 8.0.

    • subject (str) – The subject of the certificate, or None if not available.

    • valid_from (str) – The first date/time in which the certificate is valid, or None if not available.

      This will be in ISO8601 format.

    • valid_through (str) – The last date/time in which the certificate is valid, or None if not available.

      This will be in ISO8601 format.

    Return type:

    dict

    write_cert_file(path: str) → None[source]¶

    Write the certificate data to a file.

    Parameters:

    path (str) – The file path where the certificate data will be written.

    Raises:

    reviewboard.certs.errors.CertificateStorageError – There was an error writing the file.

    write_key_file(path: str) → None[source]¶

    Write the private key data to a file.

    Parameters:

    path (str) – The file path where the private key data will be written.

    Raises:

    reviewboard.certs.errors.CertificateStorageError – There was an error writing the file.

    __repr__() → str[source]¶

    Return a string representation of the instance.

    Returns:

    The string representation.

    Return type:

    str

    class CertificateBundle(*, bundle_data: bytes, data_format: CertDataFormat = CertDataFormat.PEM, name: str = 'certs')[source]¶

    Bases: object

    A bundle of root and intermediary certificates.

    This represents a “CA bundle,” which specifies a root certificate and any necessary intermediary certificates used to validate other certificates, including those signed using an in-house certificate authority.

    Consumers should take care not to modify any certificate data after loading. While it’s possible to change the data, doing so can lead to incorrect results, as some data is computed and then cached on the instance and cannot be updated later.

    New in version 6.0.

    classmethod create_from_file(*, name: str, path: str) → Self[source]¶

    Return an instance parsed from a PEM bundle file.

    Parameters:
    • name (str) –

      The name of this bundle file.

      This must be in slug format.

    • path (str) – The path to the file.

    Raises:

    reviewboard.certs.errors.CertificateStorageError – There was an error loading the CA bundle. Details are in the error message.

    __init__(*, bundle_data: bytes, data_format: CertDataFormat = CertDataFormat.PEM, name: str = 'certs') → None[source]¶

    Initialize the certificate bundle.

    Parameters:
    • bundle_data (bytes) – The loaded data of the certificate bundle.

    • data_format (CertDataFormat, optional) –

      The format used for contents.

      This currently only accepts PEM-encoded data.

    • name (str, optional) – The name of the certificate bundle.

    bundle_data: bytes¶

    The loaded data of the certificate bundle.

    data_format: CertDataFormat¶

    The format for the loaded certificate and private key data.

    name: str¶

    The name of this bundle.

    This is in slug format.

    write_bundle_file(path: str) → None[source]¶

    Write the certificate bundle data to a file.

    Parameters:

    path (str) – The file path where the certificate bundle data will be written.

    Raises:

    reviewboard.certs.errors.CertificateStorageError – There was an error writing the file.

    Keep up with the latest Review Board releases, security updates, and helpful information.

    About
    News
    Demo
    RBCommons Hosting
    Integrations
    Happy Users
    Support Options
    Documentation
    FAQ
    User Manual
    RBTools
    Administration Guide
    Power Pack
    Release Notes
    Downloads
    Review Board
    RBTools
    Djblets
    Power Pack
    Package Store
    PGP Signatures
    Contributing
    Bug Tracker
    Submit Patches
    Development Setup
    Wiki
    Follow Us
    Mailing Lists
    Reddit
    Twitter
    Mastodon
    Facebook
    YouTube
    Copyright © 2006-2026 Beanbag, Inc. All rights reserved.
    Terms of Service — Privacy Policy — AI Ethics Policy — Branding

    On this page

    • [Top]
    • SANValue
    • CertDataFormat
      • CertDataFormat.PEM
    • CertPurpose
      • CertPurpose.TRUST
      • CertPurpose.CLIENT
    • CertificateFingerprints
      • CertificateFingerprints.SHA1_FINGERPRINT_RE
      • CertificateFingerprints.SHA1_RE
      • CertificateFingerprints.SHA256_FINGERPRINT_RE
      • CertificateFingerprints.SHA256_RE
      • CertificateFingerprints.from_json()
      • CertificateFingerprints.from_string()
      • CertificateFingerprints.from_x509_cert()
      • CertificateFingerprints.__init__()
      • CertificateFingerprints.sha1
      • CertificateFingerprints.sha256
      • CertificateFingerprints.to_json()
      • CertificateFingerprints.is_empty()
      • CertificateFingerprints.matches()
      • CertificateFingerprints.__eq__()
      • CertificateFingerprints.__repr__()
      • CertificateFingerprints.__hash__
    • Certificate
      • Certificate.create_from_files()
      • Certificate.create_from_server()
      • Certificate.__init__()
      • Certificate.cert_data
      • Certificate.data_format
      • Certificate.hostname
      • Certificate.key_data
      • Certificate.port
      • Certificate.purpose
      • Certificate.fingerprints
      • Certificate.x509_cert
      • Certificate.subject
      • Certificate.subject_alternative_names
      • Certificate.issuer
      • Certificate.valid_from
      • Certificate.valid_through
      • Certificate.is_valid
      • Certificate.is_wildcard
      • Certificate.matches_host()
      • Certificate.to_json()
      • Certificate.write_cert_file()
      • Certificate.write_key_file()
      • Certificate.__repr__()
    • CertificateBundle
      • CertificateBundle.create_from_file()
      • CertificateBundle.__init__()
      • CertificateBundle.bundle_data
      • CertificateBundle.data_format
      • CertificateBundle.name
      • CertificateBundle.write_bundle_file()