Этот плагин позволяет создавать тикеты Zendesk из тем Discourse. Это можно сделать, настроив плагин так, чтобы все темы в категории автоматически генерировали тикеты Zendesk, или отправив отдельные темы в Zendesk, нажав кнопку «Создать тикет Zendesk», которая отображается для персонала сайта под каждой темой:
При создании тикета автор первого сообщения в теме будет указан в качестве Запросителя (Requester) в Zendesk. Он также будет добавлен в ваш список клиентов Zendesk.
После создания тикета кнопка «Создать тикет Zendesk» будет обновлена на «Просмотреть в Zendesk». Нажатие этой кнопки перенаправит вас на соответствующий тикет Zendesk:
Отправка ответов, созданных в Discourse, в Zendesk
Плагин позволяет по желанию отправлять все ответы на тему Discourse в тикет Zendesk или отправлять только ответы, созданные автором темы. Обе эти функции настраиваются в параметрах плагина.
Синхронизация комментариев Zendesk с Discourse
Комментарии Zendesk могут быть синхронизированы с темой Discourse, из которой был создан тикет.
Конфигурация
Настройки Discourse Zendesk доступны на странице Плагинов в административной части вашего сайта Discourse. Нажмите кнопку «Настройки» для записи «discourse-zendesk-plugin» на этой странице.
Настройка OAuth
Сначала создайте OAuth-клиент в Zendesk:
В Zendesk Admin Center перейдите в Приложения и интеграции > API > OAuth-клиенты.
Нажмите Добавить OAuth-клиент.
Введите имя, описание и выберите Confidential (Конфиденциальный) как тип клиента. URL перенаправления не требуется.
Настройте Области действия (Scopes) на tickets:read, tickets:write, users:read и users:write, чтобы ограничить OAuth-клиент только теми областями действия, которые требуются плагину.
Сохраните клиента.
Скопируйте Идентификатор и Секрет клиента. Zendesk отображает полный секрет только один раз.
zendesk url: введите URL вашего аккаунта Zendesk, за которым следует /api/v2. Например, https://example.zendesk.com/api/v2.
zendesk enabled: включить или отключить плагин.
zendesk jobs api token: Устарело. Существующим установкам следует перейти на OAuth.
zendesk jobs email: Устарело. Существующим установкам следует перейти на OAuth.
zendesk autogenerate all categories (ранее zendesk enable all categories): автоматически создавать тикеты Zendesk для тем в каждой категории. По умолчанию эта настройка отключена.
zendesk autogenerate categories (ранее zendesk enabled categories): выберите категории Discourse, для новых тем в которых должны автоматически создаваться тикеты Zendesk.
zendesk job push all posts: отправлять ответы в Zendesk в качестве комментариев к тикету. По умолчанию эта настройка включена.
zendesk job push only author posts: отправлять только ответы, написанные первоначальным автором темы. Эта настройка применяется, когда включена zendesk job push all posts, и по умолчанию отключена.
Я хотел бы сделать запрос на добавление новой функции для этой интеграции с Zendesk:
Для нас критически важно иметь возможность как отправлять ответы в Zendesk в виде комментариев, так и получать комментарии из Zendesk в виде ответов. Однако на данный момент выполнить последнее можно только если настроено автоматическое создание тикетов в Zendesk при создании тем в категориях Discourse.
Мне гораздо больше подошел бы вариант, при котором и вручную созданные тикеты в Zendesk имели бы возможность получать комментарии в виде ответов! Это связано с тем, что у нас внедрен процесс триажа, при котором только некоторые темы, созданные клиентами, должны пересылаться в Zendesk. Мы не хотим, чтобы наши конечные пользователи могли создавать тикеты в Zendesk «за кулисами».
В Zendesk при создании «внутренних заметок» (приватных заметок) в тикете эти внутренние заметки не создают шепот в Discourse.
Я настроил вебхук в Zendesk для создания шепота для каждой внутренней заметки, однако этот шепот затем снова отправляется в Zendesk из-за обычной работы плагина.
Итак, мой вопрос: есть ли способ предотвратить создание плагином нового комментария в Zendesk, когда я создаю шепоты из внутренних заметок, как описано выше?
Я знаю, что можно отключить синхронизацию для всех постов, но цель — синхронизировать только те шепоты, которые я создаю через API Discourse.
Подскажите, пожалуйста, есть ли простое решение этой проблемы?
Не уверен, что это правильное место для сообщения об ошибке, поэтому дайте знать, если мне стоит перенести это в другой раздел.
Мы используем этот плагин уже несколько недель, и в целом он работает хорошо. Однако мы обнаружили одну проблему: плагин, похоже, дублирует синхронизацию комментариев. Вот что, как я думаю, происходит:
Пользователь отправляет пост в Discourse.
Он синхронизируется с Zendesk.
Плагин синхронизации видит новый комментарий в Zendesk и синхронизирует его обратно в Discourse.
Вот что мы видим визуально: Джон (администратор, настроивший плагин) иногда отправляет дубликаты сообщений других пользователей без своего участия. Это происходит из-за плагина синхронизации с Discourse:
Со стороны Zendesk мы не видим никаких дубликатов ответов и видим только один ответ от пользователя (не могу прикрепить второй скриншот из-за ограничений этого форума).
Расширенный просмотр истории тикета не показывает никаких аномалий в Zendesk.
Есть ли у кого-нибудь идеи, что может идти не так, или как мы можем отладить эту проблему?
Привет, Шейн! Я попробовал протестировать это, чтобы проверить, смогу ли я воспроизвести проблему, но пока мне не удалось столкнуться с той же проблемой.
Правильно ли я понимаю, что Zendesk просто автоматически отправляет комментарий обратно в Discourse? Джон не цитирует и не копирует/вставляет комментарий?
Настроили ли вы какие-либо дополнительные триггеры в Zendesk при первоначальной настройке плагина?
Спасибо, что подключились! Да, это проблема с программным обеспечением, Джон не отправляет эти сообщения сам.
Я изучу наши триггеры и протестирую их отключение и повторное включение. К сожалению, я не обнаружил никаких сходств в том, когда или почему это происходит, поэтому у меня нет прямого способа воспроизвести проблему.
Я нашел триггер, который при обновлении тикета и наличии у него тега discourse отправляет уведомление вебхуку синхронизации Discourse через PUT-запрос. Я не настраивал этот плагин, но не он ли может быть причиной проблемы?
Помимо этого триггера, я не вижу других автоматизаций, которые могли бы вызывать конфликт. Я попросил администраторов Discourse предоставить список всех комментариев Джона (включая удаленные), чтобы я мог сопоставить каждое событие и попытаться найти связь.
Я давно использую плагин Zendesk и он мне очень нравится. Однако недавно произошло что-то неожиданное. Когда другой член команды (бывший агент Zendesk) ответил на тему в Discourse, Zendesk отправил это сообщение обратно в Discourse. В результате оно появилось в теме Discourse дважды: один раз от имени члена команды, который опубликовал его в Discourse, и второй раз от имени текущего исполнителя заявки в Zendesk.
Сталкивался ли кто-нибудь с этим и есть ли решение?
У меня возникла проблема: приватные темы, созданные на стороне сообщества, не создаются в Zendesk. Не могли бы вы подсказать, требуются ли какие-либо специальные настройки или конфигурации для корректной синхронизации приватных тем с Zendesk?
Я заметил, что кнопки «Создать/просмотреть тикет в Zendesk» видны только сотрудникам.
Можно ли сделать видимость этих кнопок управляемой через новые настройки плагина zendesk_create_ticket_allowed_groups и zendesk_view_ticket_allowed_groups для большей гибкости?
Я не обязательно хочу предоставлять роли администратора или модератора нашим командам поддержки. Конечно, они являются администраторами своего домена (Zendesk), но, на мой взгляд, это не всегда оправдывает предоставление им расширенных привилегий в Discourse.
Этот плагин теперь включён в ядро Discourse в рамках Bundling more popular plugins with Discourse core. Если вы размещаете Discourse самостоятельно и используете этот плагин, вам нужно удалить его из файла app.yml перед следующим обновлением.
@gormus Я обновлял плагин, чтобы добавить поддержку OAuth-токенов для аутентификации в Zendesk, и увидел ваш запрос здесь. Хотел уточнить, по-прежнему ли вам будет полезна групповая настройка видимости кнопок Zendesk.