diff --git a/src/sentry/integrations/msteams/integration.py b/src/sentry/integrations/msteams/integration.py index 69977fa4211b..9f2ac50ac871 100644 --- a/src/sentry/integrations/msteams/integration.py +++ b/src/sentry/integrations/msteams/integration.py @@ -96,6 +96,9 @@ class MsTeamsIntegration(IntegrationInstallation, IntegrationNotificationClient) def get_client(self) -> MsTeamsClient: return MsTeamsClient(self.model) + def get_config_data(self) -> Mapping[str, str]: + return {"installationType": self.model.metadata.get("installation_type", "")} + def send_notification( self, target: IntegrationNotificationTarget, payload: AdaptiveCard ) -> None: diff --git a/tests/sentry/integrations/msteams/test_integration.py b/tests/sentry/integrations/msteams/test_integration.py index 97d8f4b4500f..db26bc8b33e8 100644 --- a/tests/sentry/integrations/msteams/test_integration.py +++ b/tests/sentry/integrations/msteams/test_integration.py @@ -226,3 +226,23 @@ def test_send_notification_api_error(self, mock_send_card: MagicMock) -> None: self.installation.send_notification(target=self.target, payload=payload) assert str(e.value) == error_payload + + +@control_silo_test +class MsTeamsIntegrationConfigTest(TestCase): + def setUp(self) -> None: + self.integration = self.create_provider_integration( + provider="msteams", name="Microsoft Teams", metadata={} + ) + self.installation = MsTeamsIntegration(self.integration, self.organization.id) + + def test_config_data_team(self) -> None: + self.integration.metadata["installation_type"] = "team" + assert self.installation.get_config_data()["installationType"] == "team" + + def test_config_data_tenant(self) -> None: + self.integration.metadata["installation_type"] = "tenant" + assert self.installation.get_config_data()["installationType"] == "tenant" + + def test_config_data_missing(self) -> None: + assert self.installation.get_config_data()["installationType"] == ""