def register_extensions(): from sentry.plugins.base import plugins from sentry.plugins.utils import TestIssuePlugin2 plugins.register(TestIssuePlugin2) from sentry import integrations from sentry.integrations.example import ( AlertRuleIntegrationProvider, AliasedIntegrationProvider, ExampleIntegrationProvider, ExampleRepositoryProvider, FeatureFlagIntegration, ServerExampleProvider, ) integrations.register(ExampleIntegrationProvider) integrations.register(AliasedIntegrationProvider) integrations.register(ServerExampleProvider) integrations.register(FeatureFlagIntegration) integrations.register(AlertRuleIntegrationProvider) from sentry.plugins.base import bindings from sentry.plugins.providers.dummy import DummyRepositoryProvider bindings.add("repository.provider", DummyRepositoryProvider, id="dummy") bindings.add( "integration-repository.provider", ExampleRepositoryProvider, id="integrations:example" )
def setUp(self): super(PluginTestCase, self).setUp() # Old plugins, plugin is a class, new plugins, it's an instance # New plugins don't need to be registered if isinstance(self.plugin, (type, types.ClassType)): plugins.register(self.plugin) self.addCleanup(plugins.unregister, self.plugin)
def setUp(self): super(PluginTestCase, self).setUp() # Old plugins, plugin is a class, new plugins, it's an instance # New plugins don't need to be registered if inspect.isclass(self.plugin): plugins.register(self.plugin) self.addCleanup(plugins.unregister, self.plugin)
def register_plugins(settings, test_plugins=False): from pkg_resources import iter_entry_points from sentry.plugins.base import plugins # entry_points={ # 'sentry.plugins': [ # 'phabricator = sentry_phabricator.plugins:PhabricatorPlugin' # ], # }, entry_points = [ "sentry.new_plugins", "sentry.test_only_plugins" if test_plugins else "sentry.plugins", ] for entry_point in entry_points: for ep in iter_entry_points(entry_point): try: plugin = ep.load() except Exception: import traceback click.echo("Failed to load plugin %r:\n%s" % (ep.name, traceback.format_exc()), err=True) else: plugins.register(plugin) for plugin in plugins.all(version=None): init_plugin(plugin) from sentry import integrations from sentry.utils.imports import import_string for integration_path in settings.SENTRY_DEFAULT_INTEGRATIONS: try: integration_cls = import_string(integration_path) except Exception: import traceback click.echo( "Failed to load integration %r:\n%s" % (integration_path, traceback.format_exc()), err=True, ) else: integrations.register(integration_cls) for integration in integrations.all(): try: integration.setup() except AttributeError: pass
def register_extensions(): from sentry.plugins.base import plugins from sentry.plugins.utils import TestIssuePlugin2 plugins.register(TestIssuePlugin2) from sentry import integrations from sentry.integrations.bitbucket import BitbucketIntegrationProvider from sentry.integrations.bitbucket_server import BitbucketServerIntegrationProvider from sentry.integrations.example import ( ExampleIntegrationProvider, AliasedIntegrationProvider, ExampleRepositoryProvider, ServerExampleProvider, FeatureFlagIntegration, ) from sentry.integrations.github import GitHubIntegrationProvider from sentry.integrations.github_enterprise import GitHubEnterpriseIntegrationProvider from sentry.integrations.gitlab import GitlabIntegrationProvider from sentry.integrations.jira import JiraIntegrationProvider from sentry.integrations.jira_server import JiraServerIntegrationProvider from sentry.integrations.slack import SlackIntegrationProvider from sentry.integrations.vsts import VstsIntegrationProvider from sentry.integrations.vsts_extension import VstsExtensionIntegrationProvider from sentry.integrations.pagerduty.integration import PagerDutyIntegrationProvider integrations.register(BitbucketIntegrationProvider) integrations.register(BitbucketServerIntegrationProvider) integrations.register(ExampleIntegrationProvider) integrations.register(AliasedIntegrationProvider) integrations.register(ServerExampleProvider) integrations.register(FeatureFlagIntegration) integrations.register(GitHubIntegrationProvider) integrations.register(GitHubEnterpriseIntegrationProvider) integrations.register(GitlabIntegrationProvider) integrations.register(JiraIntegrationProvider) integrations.register(JiraServerIntegrationProvider) integrations.register(SlackIntegrationProvider) integrations.register(VstsIntegrationProvider) integrations.register(VstsExtensionIntegrationProvider) integrations.register(PagerDutyIntegrationProvider) from sentry.plugins.base import bindings from sentry.plugins.providers.dummy import DummyRepositoryProvider bindings.add("repository.provider", DummyRepositoryProvider, id="dummy") bindings.add("integration-repository.provider", ExampleRepositoryProvider, id="integrations:example")
def register_plugins(settings, raise_on_plugin_load_failure=False): from pkg_resources import iter_entry_points from sentry.plugins.base import plugins # entry_points={ # 'sentry.plugins': [ # 'phabricator = sentry_phabricator.plugins:PhabricatorPlugin' # ], # }, for ep in iter_entry_points("sentry.plugins"): try: plugin = ep.load() except Exception: import traceback click.echo( f"Failed to load plugin {ep.name!r}:\n{traceback.format_exc()}", err=True) if raise_on_plugin_load_failure: raise else: plugins.register(plugin) for plugin in plugins.all(version=None): init_plugin(plugin) from sentry import integrations from sentry.utils.imports import import_string for integration_path in settings.SENTRY_DEFAULT_INTEGRATIONS: try: integration_cls = import_string(integration_path) except Exception: import traceback click.echo( f"Failed to load integration {integration_path!r}:\n{traceback.format_exc()}", err=True, ) else: integrations.register(integration_cls) for integration in integrations.all(): try: integration.setup() except AttributeError: pass
def inner(cls): from sentry.plugins.base import plugins monkeypatch.setitem(globals(), cls.__name__, cls) plugins.register(cls) request.addfinalizer(lambda: plugins.unregister(cls))
def inner(cls): from sentry.plugins.base import plugins plugins.register(cls) request.addfinalizer(lambda: plugins.unregister(cls))
from sentry.integrations.example import ExampleIntegrationProvider from sentry.mediators.plugins import Migrator from sentry.models import Integration, Repository from sentry.plugins.base import plugins from sentry.plugins.bases.issue2 import IssuePlugin2 from sentry.testutils import TestCase class ExamplePlugin(IssuePlugin2): slug = "example" plugins.register(ExamplePlugin) class MigratorTest(TestCase): def setUp(self): super().setUp() self.organization = self.create_organization() self.project = self.create_project(organization=self.organization) self.integration = Integration.objects.create(provider=ExampleIntegrationProvider.key) self.migrator = Migrator(integration=self.integration, organization=self.organization) def test_all_repos_migrated(self): Repository.objects.create( organization_id=self.organization.id, provider=self.integration.provider, integration_id=self.integration.id,
def register_mock_plugins(): plugins.register(VstsPlugin) plugins.register(GitHubPlugin) plugins.register(BitbucketPlugin)