From 18b5b2cb473f7d242cf7c4292729e4a92fca7736 Mon Sep 17 00:00:00 2001 From: Zhixing Zhang Date: Mon, 20 Sep 2021 15:18:36 -0700 Subject: [PATCH] feat(growth): Sending analytics for admin requests (#28676) * sending analytics * changes * rename * changes * fix tests --- src/sentry/analytics/events/inapp_request.py | 18 ++++++++++++++++++ src/sentry/tasks/members.py | 9 ++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 src/sentry/analytics/events/inapp_request.py diff --git a/src/sentry/analytics/events/inapp_request.py b/src/sentry/analytics/events/inapp_request.py new file mode 100644 index 00000000000000..43b2235a7a0c56 --- /dev/null +++ b/src/sentry/analytics/events/inapp_request.py @@ -0,0 +1,18 @@ +from sentry import analytics + + +class InAppRequestSentEvent(analytics.Event): + attributes = ( + analytics.Attribute("organization_id"), + analytics.Attribute("user_id", required=False), + analytics.Attribute("target_user_id"), + analytics.Attribute("providers"), + analytics.Attribute("subtype", required=False), + ) + + +class InviteRequestSentEvent(InAppRequestSentEvent): + type = "invite_request.sent" + + +analytics.register(InviteRequestSentEvent) diff --git a/src/sentry/tasks/members.py b/src/sentry/tasks/members.py index 9e60c2b6089738..48b2c5366cc527 100644 --- a/src/sentry/tasks/members.py +++ b/src/sentry/tasks/members.py @@ -1,7 +1,7 @@ from django.urls import reverse from structlog import get_logger -from sentry import roles +from sentry import analytics, roles from sentry.models import InviteStatus, OrganizationMember from sentry.tasks.base import instrumented_task from sentry.utils.email import MessageBuilder @@ -63,3 +63,10 @@ def send_invite_request_notification_email(member_id): except Exception as e: logger = get_logger(name="sentry.mail") logger.exception(e) + analytics.record( + "invite_request.sent", + organization_id=om.organization.id, + user_id=om.inviter.id if om.inviter else None, + target_user_id=recipient.id, + providers="email", + )