From c11dc1f6b084c3af5852b4e166107291232670e9 Mon Sep 17 00:00:00 2001 From: "nikita.ryabchenko" Date: Tue, 24 Feb 2026 15:51:57 +0300 Subject: [PATCH 1/4] docs(user): add Wait action documentation (EN + RU) Co-authored-by: Cursor --- content/documentation/user/wait-action.md | 93 ++++++++++++++++++++ content/documentation/user/wait-action.ru.md | 93 ++++++++++++++++++++ 2 files changed, 186 insertions(+) create mode 100644 content/documentation/user/wait-action.md create mode 100644 content/documentation/user/wait-action.ru.md diff --git a/content/documentation/user/wait-action.md b/content/documentation/user/wait-action.md new file mode 100644 index 0000000..99b4da3 --- /dev/null +++ b/content/documentation/user/wait-action.md @@ -0,0 +1,93 @@ +--- +title: Wait action +menuTitle: Wait action +d8Edition: ee +moduleStatus: stable +--- + +**Wait** is a built-in platform action that pauses execution for a specified number of seconds. It is used in processes and workflows when you need a pause between steps (for example, to allow time for deployment or an external service), to simulate a delay in tests, or to spread load using jitter. Unlike the Debug action, Wait is intended only for waiting and has no extra parameters. + +## 1. Parameters (action body) + +Parameters are set in the action **Body** field in YAML format. + +| Parameter | Type | Required | Default | Description | +|-----------|------|----------|---------|-------------| +| `duration_seconds` | number | yes | — | Duration of the wait in seconds. From 0 to 86400 (24 hours). | +| `jitter_seconds` | number | no | 0 | Random addition: a random value from 0 to `jitter_seconds` is added to `duration_seconds`. 0 means no jitter. Cannot be negative. | +| `description` | string | no | — | Label for logs (e.g. "Wait after deploy"). Shown in logs at start and in the `description` field of a successful response. | + +### Limits + +- `duration_seconds`: from 0 to **86400** (24 hours). If the limit is exceeded, execution fails with an error. +- Total duration (including jitter) is also limited to 86400 seconds. + +### Example body (YAML) + +```yaml +duration_seconds: 10 +jitter_seconds: 0 +description: "Wait after deploy" +``` + +Minimal example (required field only): + +```yaml +duration_seconds: 5 +``` + +## 2. Overriding duration at run time + +When starting the action (from an entity, from a process or workflow), you can pass the duration in **Properties**. If set, it overrides `duration_seconds` from the action body. + +Two keys are supported (one is enough): + +- **`duration_seconds`** — same name as in the body; +- **`wait`** — convenient when the action has a property with slug `wait` (number of seconds). + +The value must be a non-negative integer (or a string with a number). If the value is negative or not numeric, the value from the body is used. + +Example: body has `duration_seconds: 60`, and Properties at run time has `wait: 30` → wait will be 30 seconds. + +## 3. Cancellation + +The wait is split into 1-second intervals. After each interval, cancellation is checked (e.g. process stop or action run cancellation). Cancellation takes effect within about 1 second. On cancel, the action completes with an error (e.g. `context canceled`). + +## 4. Response on success + +The action response field contains JSON, for example: + +```json +{ + "duration_seconds": 10 +} +``` + +If `description` was set in the body, it is also included in the response: + +```json +{ + "duration_seconds": 10, + "description": "Wait after deploy" +} +``` + +`duration_seconds` in the response is the actual wait time in seconds (including jitter and the maximum limit). + +## 5. Where to use + +- **Process (BPMN):** add a task step with a Wait action to insert a pause between steps (e.g. between deploy and health check). +- **Workflow:** add a Wait action in the action chain to delay between steps. +- **Run from entity:** rarely needed; Wait is usually used inside processes and workflows. + +## 6. Difference from Debug + +| Aspect | Wait | Debug | +|--------|------|-------| +| Purpose | Waiting only | Debugging, tests, logs, sleep | +| Parameters | duration, jitter, description | sleep_time, sleep_count, extra | +| Override at run time | duration_seconds / wait | No | +| Time limit | Yes (24 h) | No | +| Cancellation check | Every second | After each sleep | + +For pauses in processes and workflows, use **Wait**. diff --git a/content/documentation/user/wait-action.ru.md b/content/documentation/user/wait-action.ru.md new file mode 100644 index 0000000..c4ff27b --- /dev/null +++ b/content/documentation/user/wait-action.ru.md @@ -0,0 +1,93 @@ +--- +title: Действие Wait (ожидание) +menuTitle: Действие Wait +d8Edition: ee +moduleStatus: stable +--- + +**Wait** — встроенное действие платформы, которое при выполнении ждёт заданное количество секунд. Используется в процессах и воркфлоу, когда нужно сделать паузу между шагами (например, дать время деплою или внешнему сервису), симулировать задержку при тестах или равномерно распределить нагрузку с помощью jitter. В отличие от действия Debug, Wait предназначен именно для ожидания и не содержит лишних параметров. + +## 1. Параметры (тело действия) + +Параметры задаются в поле **Body** действия в формате YAML. + +| Параметр | Тип | Обязательный | По умолчанию | Описание | +|----------|-----|--------------|--------------|----------| +| `duration_seconds` | number | да | — | Длительность ожидания в секундах. От 0 до 86400 (24 часа). | +| `jitter_seconds` | number | нет | 0 | Случайная добавка: к `duration_seconds` прибавляется случайное число от 0 до `jitter_seconds`. 0 — без джиттера. Не может быть отрицательным. | +| `description` | string | нет | — | Подпись для логов (например, «Ожидание после деплоя»). Отображается в логах при старте и в поле `description` успешного ответа. | + +### Ограничения + +- `duration_seconds`: от 0 до **86400** (24 часа). При превышении лимита выполнение завершится с ошибкой. +- Итоговая длительность (с учётом jitter) также ограничена 86400 секундами. + +### Пример тела (YAML) + +```yaml +duration_seconds: 10 +jitter_seconds: 0 +description: "Ожидание после деплоя" +``` + +Минимальный вариант (только обязательное поле): + +```yaml +duration_seconds: 5 +``` + +## 2. Переопределение длительности при запуске + +При запуске действия (с сущности, из процесса или воркфлоу) можно передать длительность в **параметрах (Properties)**. Если она задана, она подменяет значение `duration_seconds` из тела действия. + +Поддерживаются два ключа (достаточно одного): + +- **`duration_seconds`** — то же имя, что и в теле; +- **`wait`** — удобно, если у действия есть свойство (property) с slug `wait` (число секунд). + +Значение должно быть неотрицательным целым (или строкой с числом). При отрицательном или нечисловом значении используется значение из тела действия. + +Пример: в теле задано `duration_seconds: 60`, при запуске в параметрах передано `wait: 30` → будет ожидание 30 секунд. + +## 3. Отмена + +Ожидание разбито на интервалы по 1 секунде. После каждого интервала проверяется отмена (например, остановка процесса или отмена записи действия). Отмена срабатывает в течение примерно 1 секунды. При отмене действие завершается с ошибкой (например, `context canceled`). + +## 4. Ответ при успехе + +В поле ответа действия возвращается JSON, например: + +```json +{ + "duration_seconds": 10 +} +``` + +Если в теле задано поле `description`, оно тоже попадает в ответ: + +```json +{ + "duration_seconds": 10, + "description": "Ожидание после деплоя" +} +``` + +`duration_seconds` в ответе — фактическое время ожидания в секундах (с учётом jitter и ограничения по максимуму). + +## 5. Где использовать + +- **Процесс (BPMN):** добавьте шаг-задачу с действием типа Wait, чтобы вставить паузу между шагами (например, между деплоем и проверкой здоровья). +- **Воркфлоу:** добавьте действие Wait в цепочку действий для задержки между шагами. +- **Запуск с сущности:** редко нужно; обычно Wait используется внутри процессов и воркфлоу. + +## 6. Отличие от Debug + +| Аспект | Wait | Debug | +|--------|------|-------| +| Назначение | Только ожидание | Отладка, тесты, логи, sleep | +| Параметры | duration, jitter, description | sleep_time, sleep_count, extra | +| Переопределение при запуске | duration_seconds / wait | Нет | +| Лимит времени | Да (24 ч) | Нет | +| Проверка отмены | Каждую секунду | По окончании каждого sleep | + +Для пауз в процессах и воркфлоу рекомендуется использовать **Wait**. From cdfa820534e2fc71fa0c2bedc538d670bfbcd4ce Mon Sep 17 00:00:00 2001 From: "nikita.ryabchenko" Date: Tue, 24 Feb 2026 19:14:18 +0300 Subject: [PATCH 2/4] docs: consolidate Wait action documentation into types.ru.md and remove redundant files - Merged content from the deleted wait-action.md and wait-action.ru.md into types.ru.md. - Added detailed specifications, parameters, and examples for the Wait action in Russian. - Removed outdated documentation files to streamline the documentation structure. --- .../documentation/admin/actions/types.ru.md | 27 ++++++ content/documentation/user/wait-action.md | 93 ------------------- content/documentation/user/wait-action.ru.md | 93 ------------------- 3 files changed, 27 insertions(+), 186 deletions(-) delete mode 100644 content/documentation/user/wait-action.md delete mode 100644 content/documentation/user/wait-action.ru.md diff --git a/content/documentation/admin/actions/types.ru.md b/content/documentation/admin/actions/types.ru.md index db1f968..4d58658 100644 --- a/content/documentation/admin/actions/types.ru.md +++ b/content/documentation/admin/actions/types.ru.md @@ -1640,3 +1640,30 @@ userId: example-user ### Учетные данные * **token** — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. + +## Wait + +Wait — встроенное действие платформы, которое при выполнении ждёт заданное количество секунд. Используется в процессах и воркфлоу для паузы между шагами (например, после деплоя или перед проверкой здоровья), для задержки при тестах или для распределения нагрузки с помощью jitter. В отличие от Debug, Wait предназначен только для ожидания и не содержит лишних параметров. + +### Пример запроса + +```yaml +duration_seconds: 10 +jitter_seconds: 0 +description: "Ожидание после деплоя" +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Значение по умолчанию | +|--------------------|-----------------|------------------------------------------------------------------------------------------------|-----------------------| +| duration_seconds | **обязательно** | Длительность ожидания в секундах. От 0 до 86400 (24 часа). При превышении выполнение завершится с ошибкой | - | +| jitter_seconds | опционально | Случайная добавка к длительности: к duration_seconds прибавляется случайное число от 0 до jitter_seconds. Не может быть отрицательным | 0 | +| description | опционально | Подпись для логов. Отображается в логах при старте и в поле description успешного ответа | - | + +Итоговая длительность (с учётом jitter) ограничена 86400 секундами. + +### Примечание + +При запуске действия (с сущности, из процесса или воркфлоу) длительность можно передать в параметрах (Properties): ключ **duration_seconds** подменяет значение из тела. Значение — неотрицательное целое или строка с числом. + diff --git a/content/documentation/user/wait-action.md b/content/documentation/user/wait-action.md deleted file mode 100644 index 99b4da3..0000000 --- a/content/documentation/user/wait-action.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: Wait action -menuTitle: Wait action -d8Edition: ee -moduleStatus: stable ---- - -**Wait** is a built-in platform action that pauses execution for a specified number of seconds. It is used in processes and workflows when you need a pause between steps (for example, to allow time for deployment or an external service), to simulate a delay in tests, or to spread load using jitter. Unlike the Debug action, Wait is intended only for waiting and has no extra parameters. - -## 1. Parameters (action body) - -Parameters are set in the action **Body** field in YAML format. - -| Parameter | Type | Required | Default | Description | -|-----------|------|----------|---------|-------------| -| `duration_seconds` | number | yes | — | Duration of the wait in seconds. From 0 to 86400 (24 hours). | -| `jitter_seconds` | number | no | 0 | Random addition: a random value from 0 to `jitter_seconds` is added to `duration_seconds`. 0 means no jitter. Cannot be negative. | -| `description` | string | no | — | Label for logs (e.g. "Wait after deploy"). Shown in logs at start and in the `description` field of a successful response. | - -### Limits - -- `duration_seconds`: from 0 to **86400** (24 hours). If the limit is exceeded, execution fails with an error. -- Total duration (including jitter) is also limited to 86400 seconds. - -### Example body (YAML) - -```yaml -duration_seconds: 10 -jitter_seconds: 0 -description: "Wait after deploy" -``` - -Minimal example (required field only): - -```yaml -duration_seconds: 5 -``` - -## 2. Overriding duration at run time - -When starting the action (from an entity, from a process or workflow), you can pass the duration in **Properties**. If set, it overrides `duration_seconds` from the action body. - -Two keys are supported (one is enough): - -- **`duration_seconds`** — same name as in the body; -- **`wait`** — convenient when the action has a property with slug `wait` (number of seconds). - -The value must be a non-negative integer (or a string with a number). If the value is negative or not numeric, the value from the body is used. - -Example: body has `duration_seconds: 60`, and Properties at run time has `wait: 30` → wait will be 30 seconds. - -## 3. Cancellation - -The wait is split into 1-second intervals. After each interval, cancellation is checked (e.g. process stop or action run cancellation). Cancellation takes effect within about 1 second. On cancel, the action completes with an error (e.g. `context canceled`). - -## 4. Response on success - -The action response field contains JSON, for example: - -```json -{ - "duration_seconds": 10 -} -``` - -If `description` was set in the body, it is also included in the response: - -```json -{ - "duration_seconds": 10, - "description": "Wait after deploy" -} -``` - -`duration_seconds` in the response is the actual wait time in seconds (including jitter and the maximum limit). - -## 5. Where to use - -- **Process (BPMN):** add a task step with a Wait action to insert a pause between steps (e.g. between deploy and health check). -- **Workflow:** add a Wait action in the action chain to delay between steps. -- **Run from entity:** rarely needed; Wait is usually used inside processes and workflows. - -## 6. Difference from Debug - -| Aspect | Wait | Debug | -|--------|------|-------| -| Purpose | Waiting only | Debugging, tests, logs, sleep | -| Parameters | duration, jitter, description | sleep_time, sleep_count, extra | -| Override at run time | duration_seconds / wait | No | -| Time limit | Yes (24 h) | No | -| Cancellation check | Every second | After each sleep | - -For pauses in processes and workflows, use **Wait**. diff --git a/content/documentation/user/wait-action.ru.md b/content/documentation/user/wait-action.ru.md deleted file mode 100644 index c4ff27b..0000000 --- a/content/documentation/user/wait-action.ru.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: Действие Wait (ожидание) -menuTitle: Действие Wait -d8Edition: ee -moduleStatus: stable ---- - -**Wait** — встроенное действие платформы, которое при выполнении ждёт заданное количество секунд. Используется в процессах и воркфлоу, когда нужно сделать паузу между шагами (например, дать время деплою или внешнему сервису), симулировать задержку при тестах или равномерно распределить нагрузку с помощью jitter. В отличие от действия Debug, Wait предназначен именно для ожидания и не содержит лишних параметров. - -## 1. Параметры (тело действия) - -Параметры задаются в поле **Body** действия в формате YAML. - -| Параметр | Тип | Обязательный | По умолчанию | Описание | -|----------|-----|--------------|--------------|----------| -| `duration_seconds` | number | да | — | Длительность ожидания в секундах. От 0 до 86400 (24 часа). | -| `jitter_seconds` | number | нет | 0 | Случайная добавка: к `duration_seconds` прибавляется случайное число от 0 до `jitter_seconds`. 0 — без джиттера. Не может быть отрицательным. | -| `description` | string | нет | — | Подпись для логов (например, «Ожидание после деплоя»). Отображается в логах при старте и в поле `description` успешного ответа. | - -### Ограничения - -- `duration_seconds`: от 0 до **86400** (24 часа). При превышении лимита выполнение завершится с ошибкой. -- Итоговая длительность (с учётом jitter) также ограничена 86400 секундами. - -### Пример тела (YAML) - -```yaml -duration_seconds: 10 -jitter_seconds: 0 -description: "Ожидание после деплоя" -``` - -Минимальный вариант (только обязательное поле): - -```yaml -duration_seconds: 5 -``` - -## 2. Переопределение длительности при запуске - -При запуске действия (с сущности, из процесса или воркфлоу) можно передать длительность в **параметрах (Properties)**. Если она задана, она подменяет значение `duration_seconds` из тела действия. - -Поддерживаются два ключа (достаточно одного): - -- **`duration_seconds`** — то же имя, что и в теле; -- **`wait`** — удобно, если у действия есть свойство (property) с slug `wait` (число секунд). - -Значение должно быть неотрицательным целым (или строкой с числом). При отрицательном или нечисловом значении используется значение из тела действия. - -Пример: в теле задано `duration_seconds: 60`, при запуске в параметрах передано `wait: 30` → будет ожидание 30 секунд. - -## 3. Отмена - -Ожидание разбито на интервалы по 1 секунде. После каждого интервала проверяется отмена (например, остановка процесса или отмена записи действия). Отмена срабатывает в течение примерно 1 секунды. При отмене действие завершается с ошибкой (например, `context canceled`). - -## 4. Ответ при успехе - -В поле ответа действия возвращается JSON, например: - -```json -{ - "duration_seconds": 10 -} -``` - -Если в теле задано поле `description`, оно тоже попадает в ответ: - -```json -{ - "duration_seconds": 10, - "description": "Ожидание после деплоя" -} -``` - -`duration_seconds` в ответе — фактическое время ожидания в секундах (с учётом jitter и ограничения по максимуму). - -## 5. Где использовать - -- **Процесс (BPMN):** добавьте шаг-задачу с действием типа Wait, чтобы вставить паузу между шагами (например, между деплоем и проверкой здоровья). -- **Воркфлоу:** добавьте действие Wait в цепочку действий для задержки между шагами. -- **Запуск с сущности:** редко нужно; обычно Wait используется внутри процессов и воркфлоу. - -## 6. Отличие от Debug - -| Аспект | Wait | Debug | -|--------|------|-------| -| Назначение | Только ожидание | Отладка, тесты, логи, sleep | -| Параметры | duration, jitter, description | sleep_time, sleep_count, extra | -| Переопределение при запуске | duration_seconds / wait | Нет | -| Лимит времени | Да (24 ч) | Нет | -| Проверка отмены | Каждую секунду | По окончании каждого sleep | - -Для пауз в процессах и воркфлоу рекомендуется использовать **Wait**. From 8324552230dfb6107be42246dd4fcf93b08bea6d Mon Sep 17 00:00:00 2001 From: "nikita.ryabchenko" Date: Tue, 24 Feb 2026 19:20:01 +0300 Subject: [PATCH 3/4] fix --- content/documentation/admin/actions/types.ru.md | 1 - 1 file changed, 1 deletion(-) diff --git a/content/documentation/admin/actions/types.ru.md b/content/documentation/admin/actions/types.ru.md index 4d58658..cafa721 100644 --- a/content/documentation/admin/actions/types.ru.md +++ b/content/documentation/admin/actions/types.ru.md @@ -1666,4 +1666,3 @@ description: "Ожидание после деплоя" ### Примечание При запуске действия (с сущности, из процесса или воркфлоу) длительность можно передать в параметрах (Properties): ключ **duration_seconds** подменяет значение из тела. Значение — неотрицательное целое или строка с числом. - From 067d1dd714069f0575711be79233a5b6001e9251 Mon Sep 17 00:00:00 2001 From: Nikita Velgin Date: Tue, 3 Mar 2026 22:56:38 +0300 Subject: [PATCH 4/4] add to release notes, renew wait action docs --- .../documentation/admin/actions/types.ru.md | 22 +++++++------------ .../documentation/release-notes/v1.4.0.ru.md | 6 +++++ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/content/documentation/admin/actions/types.ru.md b/content/documentation/admin/actions/types.ru.md index cafa721..5c4b850 100644 --- a/content/documentation/admin/actions/types.ru.md +++ b/content/documentation/admin/actions/types.ru.md @@ -1643,26 +1643,20 @@ userId: example-user ## Wait -Wait — встроенное действие платформы, которое при выполнении ждёт заданное количество секунд. Используется в процессах и воркфлоу для паузы между шагами (например, после деплоя или перед проверкой здоровья), для задержки при тестах или для распределения нагрузки с помощью jitter. В отличие от Debug, Wait предназначен только для ожидания и не содержит лишних параметров. +Wait - ожидает заданное количество секунд (с опциональной случайной добавкой — джиттером). Предназначено для использования в процессах в качестве элемента задержки, например для ожидания применения результатов предыдущего действия. ### Пример запроса ```yaml duration_seconds: 10 -jitter_seconds: 0 -description: "Ожидание после деплоя" +max_jitter_seconds: 0 +description: "Waiting for release" ``` ### Спецификация запроса -| Название | Обязательность | Описание | Значение по умолчанию | -|--------------------|-----------------|------------------------------------------------------------------------------------------------|-----------------------| -| duration_seconds | **обязательно** | Длительность ожидания в секундах. От 0 до 86400 (24 часа). При превышении выполнение завершится с ошибкой | - | -| jitter_seconds | опционально | Случайная добавка к длительности: к duration_seconds прибавляется случайное число от 0 до jitter_seconds. Не может быть отрицательным | 0 | -| description | опционально | Подпись для логов. Отображается в логах при старте и в поле description успешного ответа | - | - -Итоговая длительность (с учётом jitter) ограничена 86400 секундами. - -### Примечание - -При запуске действия (с сущности, из процесса или воркфлоу) длительность можно передать в параметрах (Properties): ключ **duration_seconds** подменяет значение из тела. Значение — неотрицательное целое или строка с числом. +| Название | Обязательность | Описание | Значение по умолчанию | +|---------------------|-----------------|----------------------------------------------------------------------------------|-----------------------| +| duration_seconds | **обязательно** | Базовая длительность ожидания в секундах (0–86400, т. е. до 24 часов) | - | +| max_jitter_seconds | опционально | Максимальная случайная добавка к ожиданию в секундах (0–N). 0 — джиттер отключён | 0 | +| description | опционально | Описание для отображения в логах и ответе действия | - | diff --git a/content/documentation/release-notes/v1.4.0.ru.md b/content/documentation/release-notes/v1.4.0.ru.md index 72c2fde..2eca0b4 100644 --- a/content/documentation/release-notes/v1.4.0.ru.md +++ b/content/documentation/release-notes/v1.4.0.ru.md @@ -7,6 +7,12 @@ weight: 930 Выпуск релиза планируется 06.04.2026 {{< /alert >}} +## Новые возможности + +### Действия + +- **Wait** — добавлено действие для паузы на заданное время ([подробнее](../../admin/actions/types/#wait)). + ## Исправленные проблемы - Исправлена синхронизация источников данных при отсутствующих правилах сопоставления: удаление несуществующих сущностей, обновление параметров или создание связей сущностей теперь запускается только при наличии хотя бы одного правила сопоставления. Создание новых сущностей остается возможным, даже если правила сопоставления не заданы.