Microsoft Teams с нами уже больше четырёх лет. Этот инструмент призван заменить программу-клиент «Skype для бизнеса» и был разработан в Microsoft как конкурент других популярных средств коммуникации, таких как Hangout, Slack, Zoom и т. д.
Microsoft Teams используется для ежедневного взаимодействия внутри команды или для связи с отдельными её участниками. Представьте, что вы сможете получать критически важную информацию, например отслеживая оповещения приложений или баз данных или любые другие события, а ваша команда будет получать уведомления в режиме реального времени. Не сомневаюсь, что все будут только рады такой идее.
2020 год был трудным, и теперь участники многих команд работают удалённо. Поэтому я выбрал эту тему для подробного разбора. Всё, что имеет критически важное значение, нужно сделать доступным в одном месте и уведомлять всех участников команды о появлении тех или иных вопросов или проблем. Тогда и решать их станет проще.
Рассмотрим базовую конфигурацию Microsoft Teams, позволяющую любому пользователю настроить веб-перехватчик, с помощью которого отправляются пользовательские уведомления на основе тех или иных требований.
Входящие веб-перехватчики — это специальный тип соединителя в Microsoft Teams, благодаря которому внешнее приложение использует простой способ обмена сообщениями в каналах команды. Microsoft Teams предоставляет уникальный URL-адрес, на который отправляется полезная нагрузка JSON с сообщением, которое требуется передать с помощью запроса POST (как правило, в формате карточки). Карточки — это контейнеры пользовательского интерфейса, которые содержат сообщения и действия, связанные с одной темой. А кроме того, это последовательный способ представления данных сообщения.
Добавление входящего веб-перехватчика в канал Microsoft Teams
- Переходим к каналу, к которому надо добавить веб-перехватчик, и выбираем (•••) More Options («Дополнительные параметры») на панели быстрого доступа.
- В раскрывающемся меню выбираем Connectors («Соединители») и выполняем поиск Incoming Webhook («Входящего веб-перехватчика»).
- Нажимаем на кнопку Configure («Настроить»), указываем название и при желании загружаем изображение-аватар для веб-перехватчика.
- В диалоговом окне появится уникальный URL-адрес, который будет сопоставлен с каналом. Обязательно скопируйте и сохраните этот URL: его нужно будет предоставить внешнему сервису.
- Нажимаем на кнопку Done («Готово»). Веб-перехватчик будет доступен в канале команды.
Для отправки сообщения через входящий веб-перехватчик на URL-адрес веб-перехватчика отправляется полезная нагрузка JSON. Этот же JSON используется и для создания карточек, содержащих средства ввода с расширенной функциональностью. Например, ввод текста, возможность выбрать из нескольких вариантов или выбор даты и времени. Код, который генерирует карточку и отправляет на URL-адрес веб-перехватчика, выполняется на любом размещённом на сервере сервисе. Эти карточки определяются как часть сообщений с действиями и совместимы с карточками, используемыми в ботах Teams и расширениях для сообщений.
Отправка сообщения в веб-перехватчик с помощью cURL или Postman
Из командной строки вводим следующую cURL-команду:curl -H ‘Content-Type: application/json’ -d ‘{“text”: “Welcome to the world of Microsoft Teams Notification !”}’ ‘<YOUR WEBHOOK URL>’
Если отправка запроса POST завершится успешно, служебная программа командной строки curl
вернёт простой результат/ответ 1.
Проверьте Microsoft Teams: на канале должно появиться приведённое выше сообщение.
И наконец, полезная нагрузка JSON для форматирования сообщения с несколько лучшим представлением, чем простое текстовое сообщение:
{
"@type": "MessageCard",
"@context": "http: //schema.org/extensions",
"themeColor": "0584 ED",
"summary": "Incoming Webhook Notification Demo",
"sections": [{
"activityTitle": " ** Birthday of John Doe ** ",
"activitySubtitle": "May this special day be as incredible as you are.May this birthday be the start of a joyous and astonishing life ahead.Happy Birthday!",
"activityImage": "https: //pngimg.com/uploads/happy_birthday/happy_birthday_PNG7.png",
"markdown": true
}]
}
После настройки этой базовой конфигурации вам откроется множество возможностей: используйте её для уведомления своей команды о созданных багах, о запросах на включение внесённых изменений или любой интеграции с другими системами для получения необходимой информации в режиме реального времени.
Ограничение скорости для соединителей
Ограничения скорости приложения регулируют трафик, генерируемый на канале соединителем или входящим веб-перехватчиком. Teams отслеживает запросы с помощью окна фиксированной скорости и инкрементного счётчика, ведущего измерения в секундах. При слишком большом количестве запросов клиентское подключение будет ограничено до обновления окна, т. е. пока не пройдено окно фиксированной скорости.
Ограничения необходимы для уменьшения перегрузки канала запросами от соединителя и обеспечивают оптимальную работу в соответствии с требованиями. Используйте их с умом.
Удаление входящего веб-перехватчика из канала Microsoft Teams
- Переходим к каналу, к которому был добавлен веб-перехватчик и выбираем (•••) More Options («Дополнительные параметры») на панели быстрого доступа.
- В раскрывающемся меню выбираем Connectors («Соединители»).
- Слева в разделе Manage («Управление») выбираем Configured («Настроено»).
- Выбираем номер, настроенный для просмотра списка текущих соединителей.
- Выбираем Manage («Управление») рядом с тем соединителем, который надо удалить.
- Нажимаем на кнопку Remove («Удалить»), после чего появится диалоговое окно Remove Configuration («Удалить конфигурацию»).
- При необходимости заполняем поля и расставляем галочки в диалоговом окне, а после нажимаем на кнопку Remove («Удалить»). Веб-перехватчик будет удалён из канала команды.
Читайте также:
- 6 советов, как улучшить работу UX-дизайнера
- Сравнение архитектурных стилей API: SOAP vs REST vs GraphQL vs RPC
- Рандомизатор на чистом CSS
Читайте нас в Telegram, VK и Яндекс.Дзен
Перевод статьи Nataraj Srikantaiah: Incoming Webhook in MS Teams