| Краткое описание | Discourse Workflows позволяет администраторам создавать сложные автоматизации с помощью визуального конструктора, автоматизируя практически любые процессы в вашем сообществе. | |
| Руководство по установке | Этот плагин входит в состав ядра Discourse. Отдельная установка плагина не требуется. |
Workflows — это визуальный конструктор автоматизации, который позволяет администраторам создавать сложные многошаговые автоматизации с помощью холста с перетаскиванием (drag-and-drop) — соединяя триггеры, условия, действия и узлы управления потоком для автоматизации практически всего на вашем сайте Discourse.
Discourse Workflows доступен в тарифных планах Business или Enterprise.
Основные понятия
Если вы знакомы с другими инструментами автоматизации, вы, скорее всего, узнаете большую часть терминологии, используемой в Workflows:
- Workflow (Рабочий процесс): Сохраненная автоматизация, состоящая из связанных узлов.
- Node (Узел): Один шаг в рабочем процессе: триггеры, условия, действия и узлы управления потоком / утилиты.
- Trigger (Триггер): Точка запуска рабочего процесса. Триггер может быть ручным или инициироваться конкретным событием — созданием темы, срабатыванием расписания или входящим веб-хуком.
- Condition (Условие): Узел маршрутизации, который оценивает правило и разделяет поток на ветви. Например, узел If (Если) направляет поток в зависимости от истинного или ложного результата оценки.
- Action (Действие): Узел, который выполняет конкретное действие — создание поста, присвоение значка, вызов внешнего API и т.д.
- Item (Элемент): Данные, передаваемые между узлами. Элементы — это JSON-объекты, которые можно просматривать в журналах выполнения и ссылаться на них с помощью выражений.
- Expression (Выражение): Динамическое значение, записанное как
{{ ... }}, которое вычисляется во время выполнения и используется для ссылки на данные из предыдущих узлов, переменных рабочего процесса или настроек сайта.
Создание рабочего процесса
Чтобы создать рабочий процесс:
- Перейдите в Admin > Plugins > Workflows и нажмите New workflow.
- Назовите ваш рабочий процесс.
- Нажмите Add first step и выберите триггер.
- Используйте кнопку +, чтобы добавить дополнительные узлы.
- Дважды щелкните по узлу, чтобы настроить его. В панели конфигурации слева будут показаны сведения о входе для узла, а справа — сведения о выходе узла. Возможно, вам потребуется запустить рабочий процесс один раз, чтобы увидеть все различные детали.
- Когда будете готовы запустить процесс, нажмите Publish.
Советы:
- Используйте заметки (sticky notes), расположенные в меню с тремя точками в правом верхнем углу конструктора, чтобы документировать, что делает ваш рабочий процесс. Заметки не влияют на работу рабочего процесса, но облегчают понимание шаблонов и общих рабочих процессов.
- Используйте узел журнала (log node) во время разработки, чтобы отправлять отладочные значения в журнал выполнения, не влияя на поведение рабочего процесса.
- Вы можете экспортировать и импортировать рабочие процессы в формате JSON, чтобы делиться ими с коллегами или воссоздавать рабочие процессы с других сайтов.
Выражения и динамические данные
Поля, принимающие выражения, отображают кнопку {/} в редакторе. Нажмите ее, чтобы просмотреть доступные данные из триггера и предыдущих узлов и вставить ссылку.
Общие выражения
| Выражение | Что возвращает |
|---|---|
{{ $json.topic.title }} |
Заголовок темы из текущего элемента |
{{ $json.post.url }} |
URL поста из текущего элемента |
{{ $json.user.username }} |
Имя пользователя, связанного с текущим элементом |
{{ $vars.my_variable }} |
Значение переменной рабочего процесса с именем my_variable |
{{ $site_settings.title }} |
Заголовок вашего сайта |
{{ $execution.id }} |
Уникальный ID текущего выполнения |
{{ $('Node Name').item.json.property }} |
Выход из конкретного вышестоящего узла, ссылающийся на его имя на холсте |
Статические и динамические значения
Поля, начинающиеся с =, рассматриваются как выражения. Поля без начального = рассматриваются как обычный текст. Выборщик выражений обрабатывает это автоматически.
Управление рабочими процессами
Существует ряд функций, которые помогают вам управлять существующими рабочими процессами.
Выполнения
Каждый раз, когда рабочий процесс запускается, Discourse записывает выполнение. Перейдите в Workflows → Executions, чтобы просмотреть историю.
Каждое выполнение показывает дату и время его завершения и статус:
- Completed (Завершено): Выполнено до конца без ошибок.
- Error (Ошибка): Не удалось выполнить на конкретном узле; нажмите на выполнение, чтобы увидеть ошибку и данные, которые ее вызвали.
- Running (Выполняется): В настоящее время обрабатывается.
- Waiting (Ожидание): Приостановлено из-за узла Wait; ожидает ответа в форме, модальном окне, одобрения в чате; или узла Call Workflow, ожидающий завершения подпроцесса.
- Rate limited (Ограничение частоты): Рабочий процесс был пропущен из-за ограничения частоты запросов.
- Skipped (Пропущено): Триггер сработал, но рабочий процесс не был опубликован.
Вы можете нажать кнопку Show, чтобы более подробно изучить выполнение рабочего процесса. Это показывает каждый шаг рабочего процесса, который можно развернуть для просмотра точных деталей, и длительность этого шага.
В нижней части страницы вы можете увидеть общую продолжительность рабочего процесса. Вы также можете Export журнал при необходимости для обмена или устранения неполадок.
Настройки
На вкладке Workflows → Settings вы можете:
- Настроить рабочий процесс ошибок, который должен срабатывать, если при запуске этого рабочего процесса произойдут какие-либо сбои. Если у рабочего процесса есть триггер ошибки, он будет обрабатывать ошибки, как определено этим триггером.
- Установить часовой пояс для триггеров расписания. Если это не установлено, рабочий процесс будет по умолчанию использовать часовой пояс сайта.
- Удалить рабочий процесс.
Это необратимо, поэтому перед продолжением следует подумать об экспорте вашего рабочего процесса (доступно в меню с тремя точками в правом верхнем углу конструктора рабочих процессов).
Версии
Каждый раз, когда вы вносите обновления в рабочий процесс, мы сохраняем предыдущие версии. Это позволяет легко Revert изменения, которые не сработали так, как вы ожидали.
Переменные
Переменные — это пары «ключ-значение», привязанные к одному рабочему процессу. Определите их в панели Variables рабочего процесса и ссылайтесь на них в любом месте с помощью {{ $vars.key_name }}. Используйте переменные для хранения значений конфигурации (например, ID категории или имени пользователя получателя), которые вы хотите иметь возможность изменять, не редактируя граф рабочего процесса.
Учетные данные
Некоторые узлы — например, HTTP-запрос или AI Agent — должны аутентифицироваться во внешних сервисах. Храните API-ключи и секреты в Workflows → Credentials, а не вставляйте их напрямую в поля узлов. Учетные данные шифруются при хранении и могут использоваться повторно в разных рабочих процессах.
Поддерживаемые типы учетных данных:
- Basic Auth (имя пользователя + пароль)
- Bearer token
- Header auth (название и значение пользовательского заголовка)
Таблицы данных
Таблицы данных — это постоянные структурированные таблицы, внутренние для плагина Workflows. Используйте узел Data table для чтения из них или записи в них. Они поддерживают типы столбцов string, number, boolean и date.
Таблицы данных полезны для:
- Удаления дубликатов — запись того, какие пользователи или темы уже были обработаны рабочим процессом
- Состояния — отслеживание того, находится ли тема на определенном этапе процесса
- Поиска — хранение отображений (например, ID темы → назначенный сотрудник), которые могут запрашиваться вашими рабочими процессами
Выполнения
Вы можете просмотреть все выполнения всех рабочих процессов на вкладке Executions. Формат и функция очень похожи на выполнения, специфичные для рабочего процесса, но показываются по всем рабочим процессам для более удобного мониторинга.
Шаблоны
При создании нового рабочего процесса вы можете начать с шаблона, а не с пустого холста. Шаблоны — это предварительно созданные рабочие процессы для распространенных сценариев использования — они аннотированы заметками, объясняющими, как они работают, и являются хорошим способом изучить систему.
Хотите увидеть больше шаблонов? Мы будем работать над расширением библиотеки доступных шаблонов со временем, но, пожалуйста, сообщите нам, если есть шаблон, который вы хотели бы видеть здесь, чтобы облегчить использование Workflows.
Вы также можете экспортировать любой рабочий процесс в виде JSON-файла, чтобы поделиться им с другими или использовать его в качестве собственной отправной точки.












