def build_assigned_text(group, identity, assignee): actor = Actor.from_actor_id(assignee) try: assigned_actor = actor.resolve() except actor.type.DoesNotExist: return if actor.type == Team: assignee_text = u'#{}'.format(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 = u'<@{}>'.format(assignee_ident.external_id) except Identity.DoesNotExist: assignee_text = assigned_actor.get_display_name() else: raise NotImplementedError return u'*Issue assigned to {assignee_text} by <@{user_id}>*'.format( assignee_text=assignee_text, user_id=identity.external_id, )
def assigned_actor(self): from sentry.api.fields.actor import Actor return Actor.from_actor_id(self.assigned_actor_id())