From 04d92b96975f3eefe6dbf4b7b283e4db46464fbe Mon Sep 17 00:00:00 2001 From: Katie Byers Date: Mon, 27 Feb 2023 08:59:36 -0800 Subject: [PATCH 1/2] log when issue owners are stored as group owners --- src/sentry/tasks/post_process.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/sentry/tasks/post_process.py b/src/sentry/tasks/post_process.py index 97bb8c466e4858..0165cf04514127 100644 --- a/src/sentry/tasks/post_process.py +++ b/src/sentry/tasks/post_process.py @@ -248,6 +248,13 @@ def handle_owner_assignment(job): if issue_owners: try: handle_group_owners(project, group, issue_owners) + logger.info( + "handle_owner_assignment.success", + extra={ + **basic_logging_details, + "reason": "stored_issue_owners", + }, + ) except Exception: logger.exception("Failed to store group owners") except Exception: From d791ae1ddf6e2eb41350ce203afe94b217d8c9ed Mon Sep 17 00:00:00 2001 From: Katie Byers Date: Mon, 27 Feb 2023 09:01:13 -0800 Subject: [PATCH 2/2] log when auto-assignment happens --- src/sentry/models/projectownership.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/sentry/models/projectownership.py b/src/sentry/models/projectownership.py index 5c577165c1af87..edcb74c0faa085 100644 --- a/src/sentry/models/projectownership.py +++ b/src/sentry/models/projectownership.py @@ -1,3 +1,4 @@ +import logging from typing import TYPE_CHECKING, Any, Mapping, Optional, Sequence, Tuple, Union from django.db import models @@ -18,6 +19,8 @@ from sentry.models import ProjectCodeOwners, Team from sentry.services.hybrid_cloud.user import RpcUser +logger = logging.getLogger(__name__) + READ_CACHE_DURATION = 3600 @@ -303,6 +306,19 @@ def handle_auto_assignment(cls, project_id, event): project_id=project_id, group_id=event.group.id, ) + logger.info( + "handle_auto_assignment.success", + extra={ + "event": event.event_id, + "group": event.group_id, + "project": event.project_id, + "organization": event.project.organization_id, + # owner_id returns a string including the owner type (user or team) and id + "assignee": issue_owner.owner_id(), + "reason": "created" if assignment["new_assignment"] else "updated", + **details, + }, + ) @classmethod def _matching_ownership_rules(