Интеграция Zendesk и Asterisk через (API)

30 000 руб. за проект
29 апреля 2021, 09:09 • 2 отклика • 18 просмотров
  1. Выбор связанной задачи в ZenDesk и отображение информации по ней.

В окне тикета Zendesk необходимо добавить блок с полем, в котором можно выбрать задачу из YouTrack. Местоположение блока на рисунке ниже отмечено красным.





Изначально (пока никаких задач за тикетом не закреплено) должен отображаться только выпадающий список, в котором можно выбрать задачу из YouTrack.


Этот выпадающий список должен синхронизироваться с пулом задач YouTrack и поддерживать фильтрацию по набранному в поле тексту, чтобы агент мог написать номер дефекта и увидеть среди вариантов выбора то, что ищет.


После того, как задача была выбрана, в поле выпадающего списка отображается ее идентификатор (например, MNT-1234). Также в этом же блоке ниже появляются не редактируемые агентом поля “Состояние” и “Срок”. Эти поля должны в реальном времени (например, с периодичностью раз в час) актуализироваться на основе соответствующих значений из YouTrack для выбранной задачи. State и Due date соответственно.


При синхронизации статусов необходимо учитывать, что в YouTrack одна задача может быть дочерней и ссылаться на другую. Выглядит это так: запрос отправляется по одному ID, а в ответ приходит другой ID и его статусы. В этом случае синхронизация все равно должна вписывать в Zendesk полученные State и Due date, даже если ID задачи в ответе отличен от такового в запросе. Чтобы при этом избежать спутывания данных по задачам, нужно или формировать отдельный запрос по каждой из них и отслеживать на запрос с каким ID получен какой ответ, или использовать специальные признаки в YouTrack, позволяющие определять связи между его задачами.


Due Date должен подкрашиваться:

  • желтым, если до выхода срока остается менее недели
  • оранжевым, если срок вышел, но с того момента прошло менее недели
  • красным, если срок вышел и с того момента прошла неделя или более

Если статус задачи “Closed”, ее срок не подсвечивается, а статус подсвечивается зеленым. Приветствуется, если такое условное форматирование будет возможно далее кастомизировать администратору, а не единовременно устанавливать при интеграции.


Также, если позволит место, будет полезно видеть назначенного разработчика и тему задачи. Это можно сделать например всплывающим окном при наведении на блок с выбранной задачей.


Когда одна связанная задача таким образом выбрана, должно быть возможно:

  • Отменить привязку (крестиком в углу блока)
  • Изменить привязку, выбрав другую задачу
  • Добавить еще одну задачу (если в первом блоке задача выбрана, ниже появляется еще один блок с изначально пустой строкой задачи, и так далее по мере выбора каждой следующей задачи).



  1. Фильтрация тикетов по связанным задачам в видах.

Необходима возможность при создании видов Zendesk добавить колонку “Связанные задачи YouTrack”. Для соответствующего тикета она должна содержать:

  • Если задач не привязано, пустую строку
  • Если задача привязана одна, ее идентификатор (вида “MNT-1234”)
  • Если задач привязано несколько, перечисление ее идентификаторов через запятую

Отображаемые в виде задачи должны быть гиперссылками, нажатие на которые фильтрует вид, оставляя в нем только те тикеты, к которым эта задача привязана. При этом должны сохраняться остальные условия вида (например, если он должен был отображать только открытые тикеты, при нажатии на гиперссылку остаются открытые тикеты, связанные с задачей; закрытые не появляются, даже если они связаны с этой задачей).




Меню создания вида:



Должно быть возможно добавлять связанные дефекты и в условия и в колонки.


Пример вида:



  1. Настройка триггеров и автоматизации на основе ключевых показателей привязанных задач.

Для триггеров и автоматизации должно быть можно выбирать условия:

  • Срок привязанной задачи больше/меньше. Нужна возможность сравнения с датами вида “Сегодня” или “Сегодня + 7 дней”, чтобы генерировать уведомления или события о том, что срок вышел или близок.
  • Состояние привязанной задачи изменилось. Нужна возможность задавать и прошлое и новое состояние, чтобы отслеживать продвижение, закрытия и переоткрытия.
  • Срок привязанной задачи изменен. Для оперативного информирования агентов о том, кого предупреждать о смещении сроков.
  • К привязанной задаче добавлен комментарий. Здесь также нужна возможность проверки по регулярному выражению, чтобы считались только комментарии с определенным содержанием.

В текст уведомления или письма, которое может генерировать автоматизация/триггер должно быть возможно добавлять путем использования переменных/плейсхолдеров:

  • Тему задачи YouTrack
  • Идентификатор задачи YouTrack
  • Текст комментария YouTrack
  • Срок задачи YouTrack (и прошлый и новый, если условие стоит на его смену) в формате YYYY/MM/DD
  • Имя назначенного исполнителя к задаче YouTrack
  • Состояние задачи YouTrack (и прошлое и новое, если условие стоит на его смену)






  1. При привязке задачи к тикету, к которому она раньше привязана не была, добавлять +1 к числу связанных тикетов в YouTrack (спецпараметр задачи) и дописывать в задаче ID тикета.

На рисунке указан параметр, к которому нужно автоматически добавлять +1 и куда дописывать ID нового привязанного тикета:







  1. Добавить возможность создавать задачи в YouTrack по шаблону.

Для подачи задач на проверку тестировщикам и разработчикам, необходима возможность создавать задачи в YouTrack по шаблону, чтобы обеспечить сбор всей необходимой для диагностики информации подразделениями, отвечающими за сбор (в первую очередь техническая поддержка).


Форму можно сделать или в YouTrack, или на отдельной веб странице. Суть формы - не давать заполняющему создать задачу, не заполнив нужные поля.


Набор полей к заполнению может отличаться в зависимости от характера задачи. Поэтому в целевой форме поля могут быть обязательными и необязательными. В случае, если поле не обязательное, по умолчанию оно должно быть активно и технически обязательно к заполнению, но заполняющий, осознанно поняв, что пункт не актуален для конкретной задачи, должен иметь возможность установить галку напротив поля, которая сделает поле необязательным и скроет его.


Набор полей:

1. Тема заявки.


Тело заявки:

1. Логин в Omnicomm Online.

2. Наименование и ID терминала.

3. Наименование и ID датчика.

4. Версия встроенного ПО терминала.

5. Версия встроенного ПО датчика.

6. Версии программных продуктов, на которых воспроизводится проблема.

7. Название отчета.

8. Точные дата и время проявления проблемы.

9. Часовой пояс.

10. Описание проблемы: что пользователь ожидает увидеть и почему он считает, что должно быть именно так? (для определения: пожелание это, недопонимание функционала, или дефект)

11. Описание проблемы: что пользователь видит по факту (отличие от желаемого результата)?

12. Версия браузера, версия ОС, в которой работает клиент.

13. Фото места установки оборудования.

14. Скриншот отчета с пометкой места проявления проблемы.

15. Шаги воспроизведения.




После того, как каждое из полей было заполнено или исключено с помощью галки, активируется кнопка создания задачи. Задача должна создаваться в проекте Maintenance (MNT) и иметь указанную в начале формы тему, а в теле содержать перечисление последующих заполненных полей из формы в формате:

[Название поля 1]: [Содержимое]

[Два разрыва строки]

[Название поля 2]: [Содержимое]

[Два разрыва строки]



Так для всех полей, которые были заполнены. Те, для которых установлена галка “Не актуально”, пропускаются, ни названий ни разрывов строк для них не вставляется.


После создания с помощью формы задачи в YouTrack (с помощью API) переключать создавшего на страницу созданной задачи.


Для формы необходима последующая возможность редактирования сотрудниками Omnicomm (например руководителем ОТП или ОЭ) без повторного привлечения разработчиков, чтобы менять состав полей при изменениях в наших процессах.