-
-
Notifications
You must be signed in to change notification settings - Fork 4.4k
ref(analytics): Transform analytics events for TET-834 #95214
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
- Transform event classes to use @analytics.eventclass decorator - Transform analytics.record calls to use event class instances - Update imports as needed Closes TET-834
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: ID Type Mismatch in Analytics Events
Type mismatch: ID fields (sentry_app_installation_id
, sentry_app_id
, organization_id
) are declared as str
in analytics event classes but are consistently passed as integers from Django model IDs in the calling code.
src/sentry/analytics/events/sentry_app_installation_updated.py#L5-L8
class SentryAppInstallationUpdatedEvent(analytics.Event): | |
sentry_app_installation_id: str | |
sentry_app_id: str | |
organization_id: str |
src/sentry/analytics/events/sentry_app_token_exchanged.py#L5-L7
class SentryAppTokenExchangedEvent(analytics.Event): | |
sentry_app_installation_id: str | |
exchange_type: str |
src/sentry/analytics/events/alert_rule_ui_component_webhook_sent.py#L6-L9
# organization_id refers to the organization that installed the sentryapp | |
organization_id: str | |
sentry_app_id: str | |
event: str |
Bug: Incorrect Type Annotations for ID Fields
Type annotations for user_id
, organization_id
, sentry_app_id
, and sentry_app_installation_id
fields in various analytics event classes are incorrectly declared as str
. These fields actually receive integer values (e.g., user.id
, organization.id
, sentry_app_installation.id
), leading to a type mismatch.
src/sentry/analytics/events/sentry_app_deleted.py#L5-L8
sentry/src/sentry/analytics/events/sentry_app_deleted.py
Lines 5 to 8 in 9a79120
class SentryAppDeletedEvent(analytics.Event): | |
user_id: str | |
organization_id: str | |
sentry_app: str |
src/sentry/analytics/events/sentry_app_installation_token_created.py#L5-L9
class SentryAppInstallationTokenCreated(analytics.Event): | |
user_id: str | |
organization_id: str | |
sentry_app_installation_id: str | |
sentry_app: str |
src/sentry/analytics/events/sentry_app_installed.py#L5-L8
sentry/src/sentry/analytics/events/sentry_app_installed.py
Lines 5 to 8 in 9a79120
class SentryAppInstalledEvent(analytics.Event): | |
user_id: str | |
organization_id: str | |
sentry_app: str |
src/sentry/analytics/events/sentry_app_updated.py#L5-L8
sentry/src/sentry/analytics/events/sentry_app_updated.py
Lines 5 to 8 in 9a79120
class SentryAppUpdatedEvent(analytics.Event): | |
user_id: str | |
organization_id: str | |
sentry_app: str |
src/sentry/analytics/events/internal_integration_created.py#L5-L8
class InternalIntegrationCreatedEvent(analytics.Event): | |
user_id: str | |
organization_id: str | |
sentry_app: str |
src/sentry/analytics/events/sentry_app_uninstalled.py#L5-L8
sentry/src/sentry/analytics/events/sentry_app_uninstalled.py
Lines 5 to 8 in 9a79120
class SentryAppUninstalledEvent(analytics.Event): | |
user_id: str | |
organization_id: str | |
sentry_app: str |
src/sentry/analytics/events/sentry_app_schema_validation_error.py#L6-L11
schema: str | |
user_id: str | |
sentry_app_id: str | None = None | |
sentry_app_name: str | |
organization_id: str | |
error_message: str |
src/sentry/analytics/events/sentry_app_installation_token_deleted.py#L5-L9
class SentryAppInstallationTokenDeleted(analytics.Event): | |
user_id: str | |
organization_id: str | |
sentry_app_installation_id: str | |
sentry_app: str |
src/sentry/analytics/events/sentry_app_created.py#L5-L8
sentry/src/sentry/analytics/events/sentry_app_created.py
Lines 5 to 8 in 9a79120
class SentryAppCreatedEvent(analytics.Event): | |
user_id: str | |
organization_id: str | |
sentry_app: str |
Was this report helpful? Give feedback by reacting with 👍 or 👎
Closes TET-834