Опубликуйте флоу, сравните его версии и откатите
Что выполняет запрос, как черновик становится опубликованной версией, как сравнить две версии и как вернуть флоу к более ранней.
4 мин чтения
Флоу редактируют как черновик, а выполняется он как опубликованная версия. Публикация превращает черновик в следующую по номеру версию, и запросы начинают выполнять её. Откат снова делает рабочей более раннюю версию. Опубликованная версия никогда не меняется, поэтому каждая версия остаётся такой, какой её опубликовали.
Что выполняет запрос
Версия — это либо черновик, либо опубликованная версия. У флоу не больше одного черновика, и запросы никогда его не выполняют.
Запросы выполняют активную версию: опубликованную последней или ту, к которой вернул откат. Вкладка Версии флоу показывает у неё статус Активная.
Черновик начинается с активной версии. Редактируя опубликованный флоу, вы редактируете копию того, что выполняется, а запросы продолжают выполнять активную версию до следующей публикации.
Выполнение остаётся на той версии, с которой началось. Публикация или откат меняют то, что выполнит следующий запрос, а не тот, что выполняется или ждёт.
Опубликовать черновик
1. Проверьте черновик
Откройте флоу в конструкторе и нажмите Проверить. Проверка показывает ошибки и предупреждения. Ошибка — это то, с чем версию нельзя опубликовать, — что должно быть в каждом флоу, перечислено в статье Как устроен флоу. Предупреждение публикацию не останавливает.
2. Опубликуйте его
Нажмите Опубликовать. Черновик проверяется ещё раз, и ошибка останавливает публикацию, ничего не меняя. Без ошибок черновик сразу становится следующей опубликованной версией и активной.
Публикация снова делает флоу из архива активным.
Черновик, в котором есть узел HTTP-запрос, не публикуется: узел заморожен, если сервис не настроен иначе, и в новой версии его быть не может. Версия, опубликованная с ним раньше, продолжает выполняться, и откат может вернуть флоу к такой версии.
Для публикации и отката нужно разрешение
flows:write— какие роли его имеют, сказано в статье Организации, проекты и роли.После публикации Slen отправляет событие вебхука
flow.published.
Через API публикация — это POST /v1/flows/{id}/publish. Ошибка в черновике отклоняет её с 422 и кодом flow_invalid, а error.details.issues перечисляет найденное. Флоу без черновика получает ответ 404 с кодом flow_draft_not_found: нового для публикации нет. Публикация, которая встретила сохранение черновика, сделанное, пока она готовилась, — или другую публикацию того же черновика, — получает ответ 409 с кодом draft_conflict, и ничего не публикуется.
Посмотреть версии
Откройте флоу, затем его вкладку Версии. История версий слева показывает все версии флоу, сначала самые новые: номер, статус, когда версию опубликовали — у черновика Не опубликована — и кто это сделал. Автор — человек, который опубликовал версию, API-ключ или Удалённый аккаунт, если этого аккаунта больше нет. У активной версии статус Активная.
Нажмите на версию, чтобы выбрать её. Выбранная версия обведена рамкой, а сравнение справа показывает её рядом с активной версией; саму активную версию — рядом с версией перед ней.
Сравнить две версии
Сравнение версий читает две версии как политики трат. Выберите одну версию в поле Было, а другую — в поле Стало; в «было» попадает более старая, в каком бы порядке их ни выбрали. Вкладка открывается со сравнением активной версии и версии перед ней.
Изменения показывают, что изменилось между ними, узел за узлом. Каждый узел помечен как добавленный, удалённый или изменённый, а таблица под ним показывает каждую изменённую настройку: её название, как в настройках узла, технический ключ под ним, значение до и значение после. Ветка, которая ведёт в другое место, показана в блоке Ветки. Настройки, которые не определяют, сколько может стоить вызов, — температура, имя узла и подобные — собраны в блоке Технические изменения; он свёрнут, если ничего другого не изменилось. Узел, передвинутый на холсте, изменением не считается.
Откатить
1. Выберите версию
На вкладке Версии нажмите на версию в списке История версий, затем на кнопку отката под списком. Кнопка есть у опубликованной версии, которая не активна.
2. Подтвердите
Нажмите Откатить. Версия становится активной.
Сначала заново проверяются ссылки версии. Модель или пул провайдеров, которых с тех пор не стало, останавливают откат, и API отвечает
422с кодомflow_invalid.Откат ничего нового не публикует. Версия сохраняет свой номер и своего автора.
Черновик остаётся как есть. Если черновика у флоу нет, следующая правка начнётся с версии, к которой вернулся флоу.
Флоу в архиве остаётся в архиве.
Slen отправляет событие вебхука
flow.rolled_back.
Через API откат — это POST /v1/flows/{id}/rollback. С version_number он ведёт к этой версии; черновик отклоняется с 409 и кодом flow_version_not_published. Без него флоу переходит к опубликованной версии сразу перед активной, поэтому повторные вызовы идут назад по истории. На первой версии ответ — 409 с кодом no_previous_version.
Что читать дальше
AI-флоу — как запрос находит свой флоу и какие состояния бывают у флоу.
Как устроен флоу — что содержит версия: узлы и их порты.
Глоссарий — версия, черновик и активная версия в одном месте.
Конструктор флоу — где редактируют черновик перед публикацией.