def build_assigned_text(group, identity, assignee): actor = Actor.from_actor_identifier(assignee) try: assigned_actor = actor.resolve() except actor.type.DoesNotExist: return if actor.type == Team: assignee_text = f"#{assigned_actor.slug}" elif actor.type == User: try: assignee_ident = Identity.objects.get( user=assigned_actor, idp__type="slack", idp__external_id=identity.idp.external_id) assignee_text = f"<@{assignee_ident.external_id}>" except Identity.DoesNotExist: assignee_text = assigned_actor.get_display_name() else: raise NotImplementedError return f"*Issue assigned to {assignee_text} by <@{identity.external_id}>*"
def owner(self): from sentry.api.fields.actor import Actor return Actor.from_actor_identifier(self.owner_id())
def assigned_actor(self): from sentry.api.fields.actor import Actor return Actor.from_actor_identifier(self.assigned_actor_id())