Создание усовершенствованных рабочих процессов с помощью веб-перехватчиков

Кто может использовать эту возможность?

Рабочие процессы — это автоматизированные многоэтапные задачи, которые можно выполнять прямо в Slack или подключать к другим инструментам и сервисам. Вы можете создавать в Slack рабочие процессы любой сложности, и для этого обычно не нужно писать код.

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

Что необходимо для начала работы

  • Умение отправлять HTTP-запросы с использованием командной строки или другого инструмента.
  • Понимание входящих веб-перехватчиков. Вы можете найти справочную информацию в документации по API Slack или попросить о помощи разработчика из вашей команды.

Что вы узнаете

  • Как настроить веб-перехватчик для запуска рабочего процесса в Slack
  • Как создать собственные переменные и использовать их в этапах рабочего процесса
  • Как протестировать рабочий процесс перед публикацией

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

Совет. Если вам нужно вспомнить, как настраивать рабочий процесс и выбирать триггер, см. статью Настройка рабочего процесса в Slack.


Настройка рабочего процесса

Основные принципы рабочих процессов с веб-перехватчиком

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

Настройка веб-перехватчика

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

Совет. Если вы не знаете, как настроить веб-перехватчик, рекомендуем обратиться за помощью к разработчику из вашей команды или изучить доступную справочную документацию используемой службы (например, Postman или Zapier).

Создание собственных переменных

Можно добавить до 20 переменных для передачи данных в Slack из другого сервиса или для добавления информации Slack (например, отображаемых имен или адресов электронной почты) на разных этапах рабочего процесса.

Для создания собственных переменных нужно будет добавлять в Конструкторе рабочих процессов пары «ключ-значение» в виде текстовых переменных. После добавления переменных отображается предпросмотр текста HTTP-запроса, чтобы вы могли убеждаться, что значения совпадают с выходными данными JSON в другой службе, подключаемой к Slack через веб-перехватчик. Обратите внимание: в настоящее время нет возможности использовать вложенные JSON-структуры в переменных рабочего процесса.

Как показано в следующем примере, если переменные user, severity и incident_description не были отправлены с запросом веб-перехватчика, рабочий процесс завершится ошибкой. 

Incident_webhook_workflow.png

Совет. Если нужно на каком-либо этапе добавить, удалить или изменить переменные, откройте рабочий процесс в Конструкторе рабочих процессов. Затем, чтобы внести изменения, нажмите Изменить рядом с разделом Веб-перехватчик. Следует также убедиться, что все изменения переменных отражены во внешнем сервисе, из которого отправляется запрос веб-перехватчика.

Получение URL-адреса веб-запроса

При публикации рабочего процесса Slack сгенерирует уникальный URL-адрес запроса, который можно добавить в веб-перехватчик, чтобы заданный вами запрос POST отправлялся в нужный канал Slack. URL-адреса запросов начинаются с https://hooks.slack.com/workflows и заканчиваются строкой случайных символов.

Надежно храните URL-адрес запроса, поскольку при наличии ссылки любой пользователь сможет запустить рабочий процесс.

Примечание. Рабочие процессы с веб-перехватчиком ограничены одним запросом в секунду. Читайте подробнее об ограничениях скорости на сайте API Slack.


Применение полученных знаний на практике

Добавление этапов

Настроив веб-перехватчик и создав все желаемые переменные, можно приступить к добавлению этапов в рабочий процесс

  1. Откройте рабочий процесс в Конструкторе рабочих процессов. 
  2. Нажмите Добавить этап
  3. Выберите тип этапа, который хотите добавить, и следуйте подсказкам для его настройки.


Тестирование рабочего процесса

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

  1. Отправьте запрос POST на URL-адрес запроса рабочего процесса и проследите все этапы, чтобы убедиться, что все правильно работает.
  2. Вернитесь в Конструктор рабочих процессов, измените первый этап рабочего процесса для отправки сообщений в желаемый канал и опубликуйте эти изменения.


Создание URL-адреса веб-перехватчика заново

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

  1. Откройте Конструктор рабочих процессов и выберите свой рабочий процесс из списка.
  2. Рядом с разделом Веб-перехватчик нажмите Изменить.
  3. Выберите Создать URL-адрес заново и сохраните изменения.

Примечание. При создании URL-адреса веб-перехватчика заново соединение между рабочим процессом в Slack и другой службой прервется. Укажите в другой службе новый URL-адрес, чтобы исключить перебои в работе.