#394

У каждого тикета есть набор «социальных» ролей: ответственный — кто двигает тикет к закрытию; наблюдатели — кто получает все уведомления, но не обязан отвечать; привязанный заказ — к чему относится тикет. Все три атрибута можно менять в процессе работы.

Ответственный

Один пользователь, который явно «закреплён» за тикетом со стороны поддержки. В шапке тикета — крупная иконка ⚑ и номер. Если ответственный — это вы, иконка выделена зелёным.

  • Назначить ответственного может только сотрудник поддержки.
  • Назначенный получает уведомление ticket.assigned по своим каналам.
  • В треде появляется системное сообщение «Назначен ответственный: пользователь #X».
  • Ответственного можно переназначить — старая запись остаётся в истории, новая публикуется в треде.

Наблюдатели

Несколько пользователей, которые «следят» за тикетом — они получают все уведомления, но не обязаны отвечать. В шапке — мелкие иконки 👁 с номерами.

  • Добавить наблюдателя может сотрудник поддержки.
  • Добавленный получает уведомление ticket.watcher.added.
  • В треде — системное сообщение «Добавлен наблюдатель: пользователь #X».
  • Наблюдателя можно убрать — он перестанет получать уведомления (на уже отправленные это не влияет).

В обычном случае автор тикета и ответственный автоматически становятся подписчиками. Наблюдатели — дополнительные подписчики поверх этого.

Привязка к заказу

Поле linked_order_id — какой заказ имеется в виду в этом тикете. Если тикет создан с заказа или с детали в newgo, поле проставляется автоматически. С главной страницы — можно указать вручную при создании или поменять потом.

  • Изменить привязку могут автор тикета, ответственный и сотрудник поддержки.
  • При смене публикуется событие ticket.order.linked (по умолчанию рассылка по этому событию выключена — включается в шестерёнке).
  • В шапке тикета привязанный заказ отображается как номер и публичный код.

Привязка к деталям

Если тикет создан с детали в newgo, дополнительно сохраняются номера деталей (part_ids). В шапке они показываются ниже номера заказа: «Детали: #1, #2, #3». Это позволяет поддержке открыть нужную деталь в проекте, посмотрев SVG-эскиз и JSON-дамп, которые автоматически приложены к первой реплике.

Родительский тикет

У тикета есть необязательное поле «родительский тикет» (parent_ticket_id). Используется, когда новый тикет — это уточнение или продолжение старого. Родителя видно в шапке как ссылку на тикет-предок.

  • Менять родителя может сотрудник поддержки и автор (если родитель ему доступен).
  • Событие — ticket.parent.changed, по умолчанию рассылка выключена.

Связанные темы