From fd2dd3521b5b33bc8589bdefb07cd7d1b4e05441 Mon Sep 17 00:00:00 2001 From: Abdullah Khan Date: Thu, 13 Aug 2026 11:25:43 -0400 Subject: [PATCH] chore(scm-messaging-integration-ui): Serializing MS teams installationType --- .../integrations/msteams/integration.py | 3 +++ .../integrations/msteams/test_integration.py | 20 +++++++++++++++++++ 2 files changed, 23 insertions(+) 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"] == ""