reviewboard.integrations¶
Integrations support for Review Board.
This module provides the Review Board functionality needed to create integrations for third-party services. It builds upon Djblets’s integrations foundation, offering some additional utilities for more easily creating manageable integrations.
This module provides imports for:
get_integration_manager |
Return the integration manager for Review Board. |
Integration |
Base class for an integration. |
-
get_integration_manager
()[source]¶ Return the integration manager for Review Board.
Returns: The integration manager used for Review Board. Return type: djblets.integrations.manager.IntegrationManager
-
class
Integration
(integration_mgr)[source]¶ Bases:
djblets.integrations.integration.Integration
Base class for an integration.
Integrations are pluggable components that interface the application with a third-party service, notifying the service or triggering actions on certain events, or fetching data from the service. They can be registered by the consuming application or through extensions.
Unlike an extension, an integration can contain multiple configurations active at one time. This is useful, for instance, when you want multiple, distinct configurations for posting messages to different channels on a chat service.
There’s one
Integration
instance for each class, and it typically operates by responding to events and communicating with another service, making use of the state stored in one or moreIntegrationConfig
instances, which it can query. This allows hook registration and other logic to be shared across all configurations of an instance.Integrations can make use of Python Extension Hooks, binding the lifecycle of that hook’s registration to the lifecycle of that particular integration, making it very easy to tie an integration into any part of the application.
-
get_configs
(local_site)[source]¶ Return configurations matching the given filters.
This will return all enabled configurations for this integration matching the provided
local_site
.The configurations can be filtered down further by the caller, based on the settings.
Parameters: local_site (reviewboard.site.models.LocalSite) – The Local Site matching any configurations. This should correspond to the value used for any repositories, review requests, reviews, etc. being used to trigger an operation, and should be set based on those objects. Returns: A list of enabled integration configurations matching the query. Return type: list of reviewboard.integrations.models.IntegrationConfig
-