• 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 7.x
    2. Version 7.x
    3. Version 6.x
    4. Version 5.0
    5. Version 4.0
    6. Version 3.0
    7. Version 2.5
    8. Version 2.0
    9. Version 1.7
    10. Version 1.6
    11. Version 1.5
    12. Version 1.0
    13. Extending Review Board
    14. Module and Class References
    15. reviewboard.reviews.fields
  • 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
  • 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
  • Diff Viewer Settings
  • Logging Settings
  • SSH Settings
  • File Storage Settings
  • User Privacy Settings
  • Search Settings
  • Access Control
  • Working with E-Mail
  • Default Reviewers
  • Permission Groups
  • Repositories
  • Bazaar Repositories
  • CVS Repositories
  • Git Repositories
  • HCL VersionVault and IBM ClearCase
  • Mercurial Repositories
  • Perforce Repositories
  • Subversion Repositories
  • Assembla Repositories
  • AWS CodeCommit Repositories
  • Beanstalk Repositories
  • Bitbucket Repositories
  • Bitbucket Server Repositories
  • Codebase HQ Repositories
  • Fedora Hosted Repositories
  • Gerrit Repositories
  • GitHub Repositories
  • GitHub Enterprise Repositories
  • GitLab Repositories
  • Gitorious Repositories
  • Cliosoft SOS Repositories
  • SourceForge Repositories
  • Unfuddle STACK Repositories
  • VisualStudio.com Repositories
  • Review Groups
  • Users
  • WebHooks
  • Extensions
  • Integrations
  • Asana Integration
  • CircleCI Integration
  • Discord 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/Package Layout
  • Creating an Extension Class
  • Extension Configuration
  • Database Models
  • Extension Static Media Files
  • JavaScript Extensions
  • Testing Extensions
  • Extension Distribution
  • Writing Review Board Extensions
  • The rbext Tool
  • Extension Hooks
  • AccountPageFormsHook
  • AccountPagesHook
  • Action Hooks
  • AdminWidgetHook
  • APIExtraDataAccessHook
  • AuthBackendHook
  • AvatarServiceHook
  • CommentDetailDisplayHook
  • DashboardColumnsHook
  • DashboardSidebarItemsHook
  • DataGridColumnsHook
  • EmailHook
  • ReviewRequestPublishedEmailHook
  • ReviewRequestClosedEmailHook
  • ReviewPublishedEmailHook
  • ReviewReplyPublishedEmailHook
  • FileAttachmentThumbnailHook
  • FileDiffACLHook
  • HostingServiceHook
  • IntegrationHook
  • NavigationBarHook
  • ReviewRequestApprovalHook
  • ReviewRequestFieldsHook
  • ReviewRequestFieldSetsHook
  • ReviewUIHook
  • SCMToolHook
  • SignalHook
  • TemplateHook
  • URLHook
  • UserInfoboxHook
  • UserPageSidebarItemsHook
  • WebAPICapabilitiesHook
  • JavaScript Extension Hooks
  • CommentDialogHook
  • FileAttachmentThumbnailContainerHook
  • ReviewDialogCommentHook
  • ReviewDialogHook
  • Adding Review Request Fields
  • Review UI Integration
  • Writing Authentication Backends
  • Writing Legacy Authentication Backends
  • Extending the Web API
  • Module and Class References
  • reviewboard
  • reviewboard.deprecation
  • reviewboard.rb_platform
  • reviewboard.signals
  • 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.actions
  • reviewboard.actions.base
  • reviewboard.actions.errors
  • reviewboard.actions.registry
  • reviewboard.admin
  • 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.extensions.base
  • reviewboard.extensions.hooks
  • reviewboard.extensions.packaging
  • reviewboard.extensions.testing
  • reviewboard.extensions.testing.testcases
  • reviewboard.hostingsvcs.base
  • 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.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.reviews.fields¶

    Definitions for review request fields.

    class FieldSetRegistry[source]¶

    Bases: OrderedRegistry

    A registry for field sets.

    This keeps the fieldsets in the registered order, so iterating through them will do so in the same order.

    lookup_attrs: Sequence[str] = ('fieldset_id',)[source]¶

    A list of attributes that items can be looked up by.

    Type:

    list of str

    errors: RegistryErrorsDict = {'already_registered': '"%(item)s" is already a registered review request fieldset.', 'not_registered': '%(attr_value)s is not a registered review request fieldset.'}[source]¶

    Error formatting strings for exceptions.

    Entries here override the global DEFAULT_ERRORS dictionary for error messages.

    Type:

    dict

    __init__()[source]¶

    Initialize the registry.

    register(fieldset)[source]¶

    Register the fieldset.

    This will also register all field classes registered on the fieldset on the field registry.

    Parameters:

    fieldset (type) – The fieldset to register, as a BaseReviewRequestFieldSet subclass.

    unregister(fieldset)[source]¶

    Unregister the fieldset.

    This will unregister all field classes on the fieldset from the field registry.

    Parameters:

    fieldset (type) – The field to remove, as a BaseReviewRequestFieldSet subclass.

    get_defaults()[source]¶

    Return the list of built-in fieldsets.

    Returns:

    A list of the built-in BaseReviewRequestFieldSet subclasses.

    Return type:

    list

    __annotations__ = {'_by_id': 'Dict[int, RegistryItemType]', '_items': 'set[RegistryItemType]', '_key_order': 'List[int]', '_lock': 'RLock', '_registry': 'dict[str, dict[object, RegistryItemType]]', 'already_registered_error_class': 'Type[AlreadyRegisteredError]', 'default_errors': 'RegistryErrorsDict', 'errors': 'RegistryErrorsDict', 'item_name': 'Optional[str]', 'lookup_attrs': 'Sequence[str]', 'lookup_error_class': 'Type[ItemLookupError]', 'state': 'RegistryState'}¶
    __parameters__ = ()¶
    class FieldRegistry[source]¶

    Bases: Registry

    A registry for review request fields.

    lookup_attrs: Sequence[str] = ['field_id'][source]¶

    A list of attributes that items can be looked up by.

    Type:

    list of str

    errors: RegistryErrorsDict = {'already_registered': '"%(item)s" is already a registered review request field. Field IDs must be unique across all fieldsets.', 'not_registered': '"%(attr_value)s is not a registered review request fieldset.'}[source]¶

    Error formatting strings for exceptions.

    Entries here override the global DEFAULT_ERRORS dictionary for error messages.

    Type:

    dict

    populate()[source]¶

    Populate the registry.

    __annotations__ = {'_items': 'set[RegistryItemType]', '_lock': 'RLock', '_registry': 'dict[str, dict[object, RegistryItemType]]', 'already_registered_error_class': 'Type[AlreadyRegisteredError]', 'default_errors': 'RegistryErrorsDict', 'errors': 'RegistryErrorsDict', 'item_name': 'Optional[str]', 'lookup_attrs': 'Sequence[str]', 'lookup_error_class': 'Type[ItemLookupError]', 'state': 'RegistryState'}¶
    __parameters__ = ()¶
    class BaseReviewRequestFieldSet(review_request_details, request=None)[source]¶

    Bases: object

    Base class for sets of review request fields.

    A fieldset stores a list of fields that are rendered on the review request page. They may contain default fields, and new fields can be added or removed.

    Review Board provides three main fieldsets: “main”, “info”, and “reviewers”. Others can be added by subclassing and registering through fieldset_registry.

    Changed in version 4.0.7: Subclasses can now dynamically instantiate fields without registering their classes by overriding build_fields().

    fieldset_id = None[source]¶

    The ID of the fieldset.

    This must be unique within the field_registry.

    Type:

    unicode

    label = None[source]¶

    The visible label of the fieldset.

    Type:

    unicode

    show_required = False[source]¶

    Whether to show this fieldset as required.

    If set, the fieldset will show as required if the user is able to modify the review request.

    Type:

    bool

    field_classes = None[source]¶

    A list of fields that will by default be instantiated for the fieldset.

    These would be set by subclasses to a list of BaseReviewRequestField subclasses.

    Type:

    list of type

    __init__(review_request_details, request=None)[source]¶

    Initialize the field set.

    Parameters:
    • review_request_details (reviewboard.reviews.models.base_review_request_details.BaseReviewRequestDetails) – The review request or draft.

    • request (django.http.HttpRequest, optional) –

      The HTTP request that resulted in building this fieldset.

      New in version 4.0.7.

    classmethod is_empty()[source]¶

    Return whether the fieldset is empty.

    A fieldset is empty if there are no field classes registered. An empty fieldset will not be displayed on the page.

    classmethod add_field(field_cls)[source]¶

    Add a field class to this fieldset.

    The field will be rendered inside this fieldset on the page.

    A given field class can only be in one fieldset. Its field_id must be unique.

    Parameters:

    field_cls (class) – The field class to add.

    classmethod remove_field(field_cls)[source]¶

    Remove a field class from this fieldset.

    The field class must have been previously added to this fieldset.

    Parameters:

    field_cls (class) – The field class to remove.

    should_render[source]¶

    Whether the fieldset should render.

    By default, fieldsets should render if any contained fields should render. Subclasses can override this if they need different behavior.

    New in version 4.0.7.

    Type:

    bool

    fields[source]¶

    A list of all field instances in this fieldset.

    Fields are instantiated through build_fields() the first time this is accessed.

    New in version 4.0.7.

    Type:

    list of BaseReviewRequestField

    build_fields()[source]¶

    Return new fields for use in this fieldset instance.

    By default, this will loop through field_classes and instantiate each field, returning the final list.

    Subclasses can override this to provide custom logic, including returning field instances that aren’t registered as field classes. This can be used to build fields tailored to a particular review request.

    New in version 4.0.7.

    Returns:

    The list of new field instances.

    Return type:

    list of BaseReviewRequestField

    __str__()[source]¶

    Represent the field set as a unicode string.

    Returns:

    The field set’s ID as a unicode string.

    Return type:

    unicode

    __annotations__ = {}¶
    class BaseReviewRequestField(review_request_details, request=None)[source]¶

    Bases: object

    Base class for a field on a review request.

    A field is responsible for displaying data from a review request, handling any editing requirements if necessary, recording changes in the ChangeDescription, and rendering those changes.

    Each field must have its own unique field_id. This ID will be used when looking up or storing the field’s value.

    It is recommended that fields provided by extensions prefix their field ID with some sort of identifier for the extension or the vendor.

    Creating a new field requires subclassing BaseReviewRequestField and overriding any fields or functions necessary. Its class must then be added to a fieldset.

    A field will be instantiated with either a ReviewRequest or a ReviewRequestDraft, depending on what is being edited. This is stored in review_request_details. Functions should optimistically fetch values from that, if possible. They can call get_review_request() on review_request_details to fetch the actual ReviewRequest.

    If the function takes a review_request_details parameter, it must use that instead.

    field_id = None[source]¶
    label = None[source]¶
    is_editable = False[source]¶
    is_required = False[source]¶
    default_css_classes = {}[source]¶
    change_entry_renders_inline = True[source]¶
    model = None[source]¶
    tag_name = 'span'[source]¶

    The HTML tag to be used when rendering the field.

    should_render = True[source]¶

    Whether the field should be rendered.

    js_view_class = None[source]¶

    The class name for the JavaScript view representing this field.

    property can_record_change_entry[source]¶
    __init__(review_request_details, request=None)[source]¶

    Initialize the field.

    Parameters:
    • review_request_details (reviewboard.reviews.models.base_review_request_details.BaseReviewRequestDetails) – The review request or draft.

    • request (django.http.HttpRequest, optional) – The current HTTP request (used to check display preferences for the logged-in user).

    property value[source]¶

    Return the value loaded from the database.

    This will fetch the value with the associated ReviewRequest or ReviewRequestDraft, and then cache it for future lookups.

    Returns:

    The value of the field.

    Return type:

    object

    has_value_changed(old_value, new_value)[source]¶

    Return whether the value has changed.

    By default, it performs an inequality check on the values. This can be overridden to perform more specialized checks.

    Parameters:
    • old_value (object) – The old value of the field.

    • new_value (object) – The new value of the field.

    Returns:

    Whether the value of the field has changed.

    Return type:

    bool

    record_change_entry(changedesc, old_value, new_value)[source]¶

    Record information on the changed values in a ChangeDescription.

    By default, the values are stored as-is along with the field ID. This can be overridden to perform more specialized storage.

    Parameters:
    • changedesc (reviewboard.changedescs.models.ChangeDescription) – The change description to record the entry in.

    • old_value (object) – The old value of the field.

    • new_value (object) – The new value of the field.

    serialize_change_entry(changedesc)[source]¶

    Serialize a change entry for public consumption.

    This will output a version of the change entry for use in the API. It can be the same content stored in the ChangeDescription, but does not need to be.

    Parameters:

    changedesc (reviewboard.changedescs.models.ChangeDescription) – The change description whose field is to be serialized.

    Returns:

    An appropriate serialization for the field.

    Return type:

    dict

    serialize_change_entry_for_model_list(field_info)[source]¶

    Return the change entry for a list of models.

    Parameters:

    field_info (dict) – A dictionary describing how the field has changed. This is guaranteed to have new and old keys, but may also contain added and removed keys as well.

    Returns:

    A mapping of each key present in field_info to its list of model instances.

    Return type:

    dict

    serialize_change_entry_for_singleton(field_info)[source]¶

    Return the change entry for a singleton.

    Singleton fields (e.g., summaries) are stored in ChangeDescription as a list with a single element.

    Parameters:

    field_info (dict) – A dictionary describing how the field has changed. This is guaranteed to have new and old keys, but may also contain added and removed keys as well.

    Returns:

    A mapping of each key in field_info to a single value.

    Return type:

    dict

    serialize_change_entry_for_list(field_info)[source]¶

    Return the change entry for a list of plain data.

    Parameters:

    field_info (dict) – A dictionary describing how the field has changed. This is guaranteed to have new and old keys, but may also contain added and removed keys as well.

    Returns:

    A mapping of each key in field_info to a list of values.

    Return type:

    dict

    get_change_entry_sections_html(info)[source]¶

    Return sections of change entries with titles and rendered HTML.

    By default, this just returns a single section for the field, with the field’s title and rendered change HTML.

    Subclasses can override this to provide more information.

    Parameters:

    info (dict) – A dictionary describing how the field has changed. This is guaranteed to have new and old keys, but may also contain added and removed keys as well.

    Returns:

    A list of the change entry sections.

    Return type:

    list of dict

    render_change_entry_html(info)[source]¶

    Render a change entry to HTML.

    By default, this returns a simple “changed from X to Y” using the old and new values. This can be overridden to generate more specialized output.

    This function is expected to return safe, valid HTML. Any values coming from a field or any other form of user input must be properly escaped.

    Subclasses can override render_change_entry_value_html to change how the value itself will be rendered in the string.

    Parameters:

    info (dict) – A dictionary describing how the field has changed. This is guaranteed to have new and old keys, but may also contain added and removed keys as well.

    Returns:

    The HTML representation of the change entry.

    Return type:

    unicode

    render_change_entry_added_value_html(info, value)[source]¶

    Render the change entry for an added value to HTML.

    Parameters:
    • info (dict) – A dictionary describing how the field has changed.

    • value (object) – The value of the field.

    Returns:

    The rendered change entry.

    Return type:

    unicode

    render_change_entry_removed_value_html(info, value)[source]¶

    Render the change entry for a removed value to HTML.

    Parameters:
    • info (dict) – A dictionary describing how the field has changed.

    • value (object) – The value of the field.

    Returns:

    The rendered change entry.

    Return type:

    unicode

    render_change_entry_value_html(info, value)[source]¶

    Render the value for a change description string to HTML.

    By default, this just converts the value to text and escapes it. This can be overridden to customize how the value is displayed.

    Parameters:
    • info (dict) – A dictionary describing how the field has changed.

    • value (object) – The value of the field.

    Returns:

    The rendered change entry.

    Return type:

    unicode

    load_value(review_request_details)[source]¶

    Load a value from the review request or draft.

    By default, this loads the value as-is from the extra_data field. This can be overridden if you need to deserialize the value in some way.

    This must use review_request_details instead of self.review_request_details.

    Parameters:

    review_request_details (reviewboard.reviews.models.base_review_request_details.BaseReviewRequestDetails) – The review request or draft.

    save_value(value)[source]¶

    Save the value in the review request or draft.

    By default, this saves the value as-is in the extra_data field. This can be overridden if you need to serialize the value in some way.

    Parameters:

    value (object) – The new value for the field.

    propagate_data(review_request_details)[source]¶

    Propagate data in from source review request or draft.

    By default, this loads only the field’s value from a source review request or draft and saves it as-is into the review request or draft associated with the field. This can be overridden if you need to propagate additional data elements.

    This method is preferable to explicitly calling load_value() and save_value() in series to propagate data from a source into a field, because it allows for copying additional data elements beyond only the field’s value.

    This function must use the review_request_details parameter instead of the review_request_details attribute on the field.

    Parameters:

    review_request_details (reviewboard.reviews.models.base_review_request_details.BaseReviewRequestDetails) – The source review request or draft whose data is to be propagated.

    render_value(value)[source]¶

    Render the value in the field.

    By default, this converts to text and escapes it. This can be overridden if you need to render it in a more specific way.

    This must use value instead of self.value.

    Parameters:

    value (object) – The value to render.

    Returns:

    The rendered value.

    Return type:

    unicode

    get_css_classes()[source]¶

    Return the set of CSS classes to apply to the element.

    By default, this will include the contents of default_css_classes, and required if it’s a required field.

    This can be overridden to provide additional CSS classes, if they’re not appropriate for default_css_classes.

    Returns:

    A set of the CSS classes to apply.

    Return type:

    set of unicode

    get_dom_attributes()[source]¶

    Return any additional attributes to include in the element.

    By default, this returns nothing.

    Returns:

    Additional key/value pairs for attributes to include in the rendered HTML element.

    Return type:

    dict

    get_data_attributes()[source]¶

    Return any data attributes to include in the element.

    By default, this returns nothing.

    Returns:

    The data attributes to include in the element.

    Return type:

    dict

    as_html()[source]¶

    Return the field rendered to HTML.

    Returns:

    The rendered field.

    Return type:

    django.utils.safetext.SafeString

    value_as_html()[source]¶

    Return the field rendered as HTML.

    By default, this just calls render_value with the value from the database.

    Returns:

    The rendered field.

    Return type:

    unicode

    __str__()[source]¶

    Represent the field as a unicode string.

    Returns:

    The field’s ID as a unicode string.

    Return type:

    unicode

    __annotations__ = {}¶
    class BaseEditableField(review_request_details, request=None)[source]¶

    Bases: BaseReviewRequestField

    Base class for an editable field.

    This simply marks the field as editable.

    default_css_classes = ['editable'][source]¶
    is_editable = True[source]¶
    js_view_class = 'RB.ReviewRequestFields.TextFieldView'[source]¶

    The class name for the JavaScript view representing this field.

    __annotations__ = {}¶
    class BaseCommaEditableField(review_request_details, request=None)[source]¶

    Bases: BaseEditableField

    Base class for an editable comma-separated list of values.

    This is used for dealing with lists of items that appear comma-separated in the UI. It works with stored lists of content on the review request or draft, and on the ChangeDescription.

    Subclasses can override this to provide specialized rendering on a per-item-basis. That’s useful for showing links to items, for example.

    default_css_classes = ['editable', 'comma-editable'][source]¶
    order_matters = False[source]¶
    js_view_class = 'RB.ReviewRequestFields.CommaSeparatedValuesTextFieldView'[source]¶

    The class name for the JavaScript view representing this field.

    one_line_per_change_entry = True[source]¶
    has_value_changed(old_value, new_value)[source]¶

    Return whether two values have changed.

    If order_matters is set to True, this will do a strict list comparison. Otherwise, it will compare the items in both lists without caring about the ordering.

    Parameters:
    • old_value (object) – The old value of the field.

    • new_value (object) – The new value of the field.

    Returns:

    Whether the value of the field has changed.

    Return type:

    bool

    serialize_change_entry(changedesc)[source]¶

    Serialize a change entry for public consumption.

    This will output a version of the change entry for use in the API. It can be the same content stored in the ChangeDescription, but does not need to be.

    Parameters:

    changedesc (reviewboard.changedescs.models.ChangeDescription) – The change description whose field is to be serialized.

    Returns:

    An appropriate serialization for the field.

    Return type:

    dict

    render_value(values)[source]¶

    Render the list of items.

    This will call out to render_item for every item. The list of rendered items will be separated by a comma and a space.

    Parameters:

    value (object) – The value to render.

    Returns:

    The rendered value.

    Return type:

    unicode

    render_item(item)[source]¶

    Render an item from the list.

    By default, this will convert the item to text and then escape it.

    Parameters:

    item (object) – The item to render.

    Returns:

    The rendered item.

    Return type:

    unicode

    render_change_entry_html(info)[source]¶

    Render a change entry to HTML.

    By default, this returns HTML containing a list of removed items, and a list of added items. This can be overridden to generate more specialized output.

    This function is expected to return safe, valid HTML. Any values coming from a field or any other form of user input must be properly escaped.

    Parameters:

    info (dict) – A dictionary describing how the field has changed. This is guaranteed to have new and old keys, but may also contain added and removed keys as well.

    Returns:

    The HTML representation of the change entry.

    Return type:

    unicode

    render_change_entry_value_html(info, values)[source]¶

    Render a list of items for change description HTML.

    By default, this will call render_change_entry_item_html for every item in the list. The list of rendered items will be separated by a comma and a space.

    Parameters:
    • info (dict) – A dictionary describing how the field has changed.

    • values (list) – The value of the field.

    Returns:

    The rendered change entry.

    Return type:

    unicode

    render_change_entry_item_html(info, item)[source]¶

    Render an item for change description HTML.

    By default, this just converts the value to text and escapes it. This can be overridden to customize how the value is displayed.

    Parameters:
    • info (dict) – A dictionary describing how the field has changed.

    • item (object) – The value of the item.

    Returns:

    The rendered change entry.

    Return type:

    unicode

    __annotations__ = {}¶
    class BaseTextAreaField(review_request_details, request=None)[source]¶

    Bases: BaseEditableField

    Base class for a multi-line text area field.

    The text area can take either plain text or Markdown text. By default, Markdown is supported, but this can be changed by setting enable_markdown to False.

    default_css_classes = ['editable', 'field-text-area'][source]¶
    enable_markdown = True[source]¶
    always_render_markdown = False[source]¶
    tag_name = 'pre'[source]¶

    The HTML tag to be used when rendering the field.

    js_view_class = 'RB.ReviewRequestFields.MultilineTextFieldView'[source]¶

    The class name for the JavaScript view representing this field.

    text_type_key[source]¶

    Return the text type key for the extra_data dictionary.

    Returns:

    The key which stores the text type for the field.

    Return type:

    unicode

    is_text_markdown(value)[source]¶

    Return whether the text is in Markdown format.

    This can be overridden if the field needs to check something else to determine if the text is in Markdown format.

    Parameters:

    value (unicode) – The value of the field.

    Returns:

    Whether the text should be interpreted as Markdown.

    Return type:

    bool

    propagate_data(review_request_details)[source]¶

    Propagate data in from source review request or draft.

    In addition to the value propagation handled by the base class, this copies the text type details from a source review request or draft and saves it as-is into the review request or draft associated with the field.

    Parameters:

    review_request_details (reviewboard.reviews.models.base_review_request_details.BaseReviewRequestDetails) – The source review request or draft whose data is to be propagated.

    get_css_classes()[source]¶

    Return the list of CSS classes.

    If Markdown is enabled, and the text is in Markdown format, this will add a “rich-text” field.

    Returns:

    A set of the CSS classes to apply.

    Return type:

    set of unicode

    get_data_attributes()[source]¶

    Return any data attributes to include in the element.

    By default, this returns nothing.

    Returns:

    The data attributes to include in the element.

    Return type:

    dict

    render_value(text)[source]¶

    Return the value of the field.

    If Markdown is enabled, and the text is not in Markdown format, the text will be escaped.

    Parameters:

    text (unicode) – The value of the field.

    Returns:

    The rendered value.

    Return type:

    unicode

    should_render_as_markdown(value)[source]¶

    Return whether the text should be rendered as Markdown.

    By default, this checks if the field is set to always render any text as Markdown, or if the given text is in Markdown format.

    Parameters:

    value (unicode) – The value of the field.

    Returns:

    Whether the text should be rendered as Markdown.

    Return type:

    bool

    render_change_entry_html(info)[source]¶

    Render a change entry to HTML.

    This will render a diff of the changed text.

    This function is expected to return safe, valid HTML. Any values coming from a field or any other form of user input must be properly escaped.

    Parameters:

    info (dict) – A dictionary describing how the field has changed. This is guaranteed to have new and old keys, but may also contain added and removed keys as well.

    Returns:

    The HTML representation of the change entry.

    Return type:

    unicode

    __annotations__ = {}¶
    class BaseCheckboxField(review_request_details, request=None)[source]¶

    Bases: BaseReviewRequestField

    Base class for a checkbox.

    The field’s value will be either True or False.

    is_editable = True[source]¶
    js_view_class = 'RB.ReviewRequestFields.CheckboxFieldView'[source]¶

    The class name for the JavaScript view representing this field.

    default_value = False[source]¶

    The default value of the field.

    tag_name = 'input'[source]¶

    The HTML tag to be used when rendering the field.

    load_value(review_request_details)[source]¶

    Load a value from the review request or draft.

    Parameters:

    review_request_details (reviewboard.reviews.models.base_review_request_details.BaseReviewRequestDetails) – The review request or draft.

    Returns:

    The loaded value.

    Return type:

    bool

    render_change_entry_html(info)[source]¶

    Render a change entry to HTML.

    This function is expected to return safe, valid HTML. Any values coming from a field or any other form of user input must be properly escaped.

    Parameters:

    info (dict) – A dictionary describing how the field has changed. This is guaranteed to have new and old keys, but may also contain added and removed keys as well.

    Returns:

    The HTML representation of the change entry.

    Return type:

    unicode

    render_change_entry_value_html(info, value)[source]¶

    Render the value for a change description string to HTML.

    Parameters:
    • info (dict) – A dictionary describing how the field has changed.

    • item (object) – The value of the field.

    Returns:

    The rendered change entry.

    Return type:

    unicode

    get_dom_attributes()[source]¶

    Return any additional attributes to include in the element.

    By default, this returns nothing.

    Returns:

    Additional key/value pairs for attributes to include in the rendered HTML element.

    Return type:

    dict

    value_as_html()[source]¶

    Return the field rendered as HTML.

    Because the value is included as a boolean attribute on the checkbox element, this just returns the empty string.

    Returns:

    The rendered field.

    Return type:

    unicode

    __annotations__ = {}¶
    class BaseDropdownField(review_request_details, request=None)[source]¶

    Bases: BaseReviewRequestField

    Base class for a drop-down field.

    is_editable = True[source]¶
    js_view_class = 'RB.ReviewRequestFields.DropdownFieldView'[source]¶

    The class name for the JavaScript view representing this field.

    default_value = None[source]¶

    The default value of the field.

    tag_name = 'select'[source]¶

    The HTML tag to be used when rendering the field.

    options = [][source]¶

    A list of the available options for the dropdown.

    Each entry in the list should be a 2-tuple of (value, label). The values must be unique. Both values and labels should be unicode.

    load_value(review_request_details)[source]¶

    Load a value from the review request or draft.

    Parameters:

    review_request_details (reviewboard.reviews.models.base_review_request_details.BaseReviewRequestDetails) – The review request or draft.

    Returns:

    The loaded value.

    Return type:

    unicode

    render_change_entry_value_html(info, value)[source]¶

    Render the value for a change description string to HTML.

    Parameters:
    • info (dict) – A dictionary describing how the field has changed.

    • item (object) – The value of the field.

    Returns:

    The rendered change entry.

    Return type:

    unicode

    value_as_html()[source]¶

    Return the field rendered as HTML.

    Select tags are funny kinds of inputs, and need a bunch of <option> elements inside them. This renders the “value” of the field as those options, to fit in with the base field’s template.

    Returns:

    The rendered field.

    Return type:

    django.utils.safestring.SafeText

    __annotations__ = {}¶
    class BaseDateField(review_request_details, request=None)[source]¶

    Bases: BaseEditableField

    Base class for a date field.

    js_view_class = 'RB.ReviewRequestFields.DateFieldView'[source]¶

    The class name for the JavaScript view representing this field.

    default_value = ''[source]¶

    The default value of the field.

    load_value(review_request_details)[source]¶

    Load a value from the review request or draft.

    Parameters:

    review_request_details (reviewboard.reviews.models.base_review_request_details.BaseReviewRequestDetails) – The review request or draft.

    Returns:

    The loaded value.

    Return type:

    unicode

    __annotations__ = {}¶
    get_review_request_fields()[source]¶

    Yield all registered field classes.

    Yields:

    type – The field classes, as subclasses of BaseReviewRequestField

    get_review_request_fieldsets(include_change_entries_only=False)[source]¶

    Return a list of all registered fieldset classes.

    As an internal optimization, the “main” fieldset can be filtered out, to help with rendering the side of the review request page.

    Parameters:

    include_change_entries_only (bool) – Whether or not to include the change-entry only fieldset.

    Returns:

    The requested fieldsets.

    Return type:

    list

    get_review_request_fieldset(fieldset_id)[source]¶

    Return the fieldset with the specified ID.

    Parameters:

    fieldset_id (unicode) – The fieldset’s ID.

    Returns:

    The requested fieldset, or None if it could not be found.

    Return type:

    BaseReviewRequestFieldSet

    get_review_request_field(field_id)[source]¶

    Return the field with the specified ID.

    Parameters:

    field_id (unicode) – The field’s ID.

    Returns:

    The requested field, or None if it could not be found.

    Return type:

    BaseReviewRequestField

    register_review_request_fieldset(fieldset)[source]¶

    Register a custom review request fieldset.

    The fieldset must have a fieldset_id attribute. This ID must be unique across all registered fieldsets, or an exception will be thrown.

    Parameters:

    fieldset (type) – The BaseReviewRequestFieldSet subclass.

    Raises:

    djblets.registries.errors.ItemLookupError – This will be thrown if a fieldset is already registered with the same ID.

    unregister_review_request_fieldset(fieldset)[source]¶

    Unregister a previously registered review request fieldset.

    Parameters:

    fieldset (type) – The BaseReviewRequestFieldSet subclass.

    Raises:

    djblets.registries.errors.ItemLookupError – This will be thrown if the fieldset is not already registered.

    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-2025 Beanbag, Inc. All rights reserved.

    Terms of Service — Privacy Policy — AI Ethics Policy — Branding

    On this page

    • [Top]
    • FieldSetRegistry
      • FieldSetRegistry.lookup_attrs
      • FieldSetRegistry.errors
      • FieldSetRegistry.__init__()
      • FieldSetRegistry.register()
      • FieldSetRegistry.unregister()
      • FieldSetRegistry.get_defaults()
      • FieldSetRegistry.__annotations__
      • FieldSetRegistry.__parameters__
    • FieldRegistry
      • FieldRegistry.lookup_attrs
      • FieldRegistry.errors
      • FieldRegistry.populate()
      • FieldRegistry.__annotations__
      • FieldRegistry.__parameters__
    • BaseReviewRequestFieldSet
      • BaseReviewRequestFieldSet.fieldset_id
      • BaseReviewRequestFieldSet.label
      • BaseReviewRequestFieldSet.show_required
      • BaseReviewRequestFieldSet.field_classes
      • BaseReviewRequestFieldSet.__init__()
      • BaseReviewRequestFieldSet.is_empty()
      • BaseReviewRequestFieldSet.add_field()
      • BaseReviewRequestFieldSet.remove_field()
      • BaseReviewRequestFieldSet.should_render
      • BaseReviewRequestFieldSet.fields
      • BaseReviewRequestFieldSet.build_fields()
      • BaseReviewRequestFieldSet.__str__()
      • BaseReviewRequestFieldSet.__annotations__
    • BaseReviewRequestField
      • BaseReviewRequestField.field_id
      • BaseReviewRequestField.label
      • BaseReviewRequestField.is_editable
      • BaseReviewRequestField.is_required
      • BaseReviewRequestField.default_css_classes
      • BaseReviewRequestField.change_entry_renders_inline
      • BaseReviewRequestField.model
      • BaseReviewRequestField.tag_name
      • BaseReviewRequestField.should_render
      • BaseReviewRequestField.js_view_class
      • BaseReviewRequestField.can_record_change_entry
      • BaseReviewRequestField.__init__()
      • BaseReviewRequestField.value
      • BaseReviewRequestField.has_value_changed()
      • BaseReviewRequestField.record_change_entry()
      • BaseReviewRequestField.serialize_change_entry()
      • BaseReviewRequestField.serialize_change_entry_for_model_list()
      • BaseReviewRequestField.serialize_change_entry_for_singleton()
      • BaseReviewRequestField.serialize_change_entry_for_list()
      • BaseReviewRequestField.get_change_entry_sections_html()
      • BaseReviewRequestField.render_change_entry_html()
      • BaseReviewRequestField.render_change_entry_added_value_html()
      • BaseReviewRequestField.render_change_entry_removed_value_html()
      • BaseReviewRequestField.render_change_entry_value_html()
      • BaseReviewRequestField.load_value()
      • BaseReviewRequestField.save_value()
      • BaseReviewRequestField.propagate_data()
      • BaseReviewRequestField.render_value()
      • BaseReviewRequestField.get_css_classes()
      • BaseReviewRequestField.get_dom_attributes()
      • BaseReviewRequestField.get_data_attributes()
      • BaseReviewRequestField.as_html()
      • BaseReviewRequestField.value_as_html()
      • BaseReviewRequestField.__str__()
      • BaseReviewRequestField.__annotations__
    • BaseEditableField
      • BaseEditableField.default_css_classes
      • BaseEditableField.is_editable
      • BaseEditableField.js_view_class
      • BaseEditableField.__annotations__
    • BaseCommaEditableField
      • BaseCommaEditableField.default_css_classes
      • BaseCommaEditableField.order_matters
      • BaseCommaEditableField.js_view_class
      • BaseCommaEditableField.one_line_per_change_entry
      • BaseCommaEditableField.has_value_changed()
      • BaseCommaEditableField.serialize_change_entry()
      • BaseCommaEditableField.render_value()
      • BaseCommaEditableField.render_item()
      • BaseCommaEditableField.render_change_entry_html()
      • BaseCommaEditableField.render_change_entry_value_html()
      • BaseCommaEditableField.render_change_entry_item_html()
      • BaseCommaEditableField.__annotations__
    • BaseTextAreaField
      • BaseTextAreaField.default_css_classes
      • BaseTextAreaField.enable_markdown
      • BaseTextAreaField.always_render_markdown
      • BaseTextAreaField.tag_name
      • BaseTextAreaField.js_view_class
      • BaseTextAreaField.text_type_key
      • BaseTextAreaField.is_text_markdown()
      • BaseTextAreaField.propagate_data()
      • BaseTextAreaField.get_css_classes()
      • BaseTextAreaField.get_data_attributes()
      • BaseTextAreaField.render_value()
      • BaseTextAreaField.should_render_as_markdown()
      • BaseTextAreaField.render_change_entry_html()
      • BaseTextAreaField.__annotations__
    • BaseCheckboxField
      • BaseCheckboxField.is_editable
      • BaseCheckboxField.js_view_class
      • BaseCheckboxField.default_value
      • BaseCheckboxField.tag_name
      • BaseCheckboxField.load_value()
      • BaseCheckboxField.render_change_entry_html()
      • BaseCheckboxField.render_change_entry_value_html()
      • BaseCheckboxField.get_dom_attributes()
      • BaseCheckboxField.value_as_html()
      • BaseCheckboxField.__annotations__
    • BaseDropdownField
      • BaseDropdownField.is_editable
      • BaseDropdownField.js_view_class
      • BaseDropdownField.default_value
      • BaseDropdownField.tag_name
      • BaseDropdownField.options
      • BaseDropdownField.load_value()
      • BaseDropdownField.render_change_entry_value_html()
      • BaseDropdownField.value_as_html()
      • BaseDropdownField.__annotations__
    • BaseDateField
      • BaseDateField.js_view_class
      • BaseDateField.default_value
      • BaseDateField.load_value()
      • BaseDateField.__annotations__
    • get_review_request_fields()
    • get_review_request_fieldsets()
    • get_review_request_fieldset()
    • get_review_request_field()
    • register_review_request_fieldset()
    • unregister_review_request_fieldset()