Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 17 additions & 1 deletion content/documentation/admin/actions/types.ru.md
Original file line number Diff line number Diff line change
Expand Up @@ -1644,7 +1644,7 @@ userId: example-user

## Wait

Wait - ожидает заданное количество секунд (с опциональной случайной добавкой — джиттером). Предназначено для использования в процессах в качестве элемента задержки, например для ожидания применения результатов предыдущего действия.
**Wait** ожидает заданное число секунд; дополнительно может применяться случайная добавка к длительности (джиттер). Предназначено для использования в процессах в качестве элемента задержки, в том числе для ожидания применения результатов предыдущего действия.

### Пример запроса

Expand All @@ -1661,3 +1661,19 @@ description: "Waiting for release"
| duration_seconds | Да | Базовая длительность ожидания в секундах (0–86400, т. е. до 24 часов) | - |
| max_jitter_seconds | Нет | Максимальная случайная добавка к ожиданию в секундах (0–N). 0 — джиттер отключён | 0 |
| description | Нет | Описание для отображения в логах и ответе действия | - |

## Fail

**Fail** эмулирует ошибку исполнения действия. Предназначено для использования в процессах в качестве отладочного элемента.

### Пример запроса

```yaml
fail: true
```

### Спецификация запроса

| Название | Обязательность | Описание | Значение по умолчанию |
|----------|----------------|-----------------------------------------------------------------------------------------|-----------------------|
| fail | Нет | Если `true`, действие завершается с ошибкой; если `false`, действие завершается успешно | `true` |
14 changes: 8 additions & 6 deletions content/documentation/admin/automations.ru.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@ moduleStatus: experimental

Автоматизации - механизм реагирования платформы на изменения спецификации сущностей.

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

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

Автоматизация может запускать выполнение как на сущность, которая вызвала триггер, так и на связанные с ней сущности в соответствии с настройками. **Важно:** если выполнение настроено для связанных сущностей, оно не будет запущено на сущность, вызвавшую событие. При настройке запуска на связанные сущности поддерживается только выполнение действий или сценариев.
{{< alert level="info" >}}
Если выполнение настроено для связанных сущностей, оно не будет запущено для сущности, вызвавшей событие. При настройке запуска для связанных сущностей поддерживается только выполнение действий или процессов.
{{< /alert >}}

## Интерфейс настройки автоматизации

Expand All @@ -37,10 +39,10 @@ moduleStatus: experimental

Настраиваются:

* **Тип выполнения** — тип объекта, который будет выполняться: действие, сценарий или синхронизация источника данных
* **Объект выполнения** — конкретный объект (действие, сценарий или источник данных), который будет выполняться
* **Тип выполнения** — тип объекта, который будет выполняться: действие, процесс или синхронизация источника данных
* **Объект выполнения** — конкретный объект (действие, процесс или источник данных), который будет выполняться

Для действий и сценариев доступна дополнительная настройка:
Для действий и процессов доступна дополнительная настройка:

* **Запускать выполнение для связанных ресурсов** — при включении этой опции выполнение будет автоматически запускаться для всех сущностей, имеющих соответствующую связь с изменённой сущностью. При этом выполнение не будет запущено на сущность, вызвавшую событие

Expand Down
83 changes: 49 additions & 34 deletions content/documentation/admin/processes.ru.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@ d8Edition: ee
moduleStatus: experimental
---

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

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

## Основные концепции

Expand All @@ -17,19 +15,11 @@ moduleStatus: experimental

* **Начало** — точка входа в процесс.
* **Задача** — выполнение конкретного действия.
* **Эксклюзивный шлюз** — условное ветвление (if-else логика).
* **Параллельный шлюз** — параллельное выполнение веток.
* **Эксклюзивный шлюз** — условное ветвление.
* **Параллельный шлюз** — объединение нескольких веток процесса в одну.
* **Цикл** — повторение части процесса заданное число раз.
* **Конец** — завершение процесса.

### Обработка ошибок

Каждый элемент процесса может иметь настройки обработки ошибок:

* **Количество попыток перезапуска** — количество повторений действия при ошибке.
* **Задержка перезапуска** — интервал между попытками.
* **Время на выполнение** — максимальное время выполнения элемента.
* **Перезапуск по тайм-ауту** — автоматический перезапуск при превышении времени.

## Создание процесса

### Основная информация
Expand All @@ -40,47 +30,72 @@ moduleStatus: experimental

* **Название** — название процесса.
* **Описание** — подробное описание назначения процесса.
* **Ресурс** — ресурс, для которого доступен процесс.
* **Ресурс** — один или несколько ресурсов, для которых может запускаться процесс.
* **Владелец** — пользователь, ответственный за процесс.
* **Команда владелец** — команда, ответственная за процесс.
* **Теги** — теги для категоризации процесса.
* **Иконка** — иконка для отображения в интерфейсе.

### Конфигурация процесса
### Настройка процесса

Настройка процесса происходит в визуальном редакторе на вкладке «Конфигурация».

На вкладке `Конфигурация` создается визуальная схема процесса:
{{< alert level="info" >}}
Для настройки процесса необходимо сначала заполнить основные поля и создать его. После этого станут доступны вкладки «Конфигурация» и «Параметры».
{{< /alert >}}

#### Добавление элементов

1. Нажмите кнопку с типом элемента в панели редактора для создания нового элемента.
1. Настройте параметры элемента в визуальном редакторе.
1. Свяжите элемент с другими элементами процесса.
1. Добавьте элемент, выбрав его тип на панели редактора.
1. Настройте параметры элемента в боковой панели (действие, условия и др.).
1. Свяжите элементы друг с другом.

#### Типы элементов

##### Задача

- Связывается с конкретным действием.
- Настраивается время выполнения и обработка ошибок.
- Может иметь входящие и исходящие связи.
Каждая задача — это запуск конкретного действия, созданного ранее в разделе «Самообслуживание» → «Действия».

##### Эксклюзивный шлюз

- Создает условное ветвление процесса.
- Настраивается условие для каждой исходящей ветки.
- Только одна ветка может быть выполнена.
Эксклюзивный шлюз позволяет настраивать ветвление процесса по условиям. По умолчанию проверяется статус предыдущей задачи, и в зависимости от него выполнение идёт по «успешной» или «неуспешной» ветке.

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

- Для проверки статуса предыдущей задачи используйте конструкцию `{{ .prev_task.result }}`
- Для проверки значения переменной из хранилища используйте конструкцию `{{ .store.<название переменной> }}`.

Доступна проверка нескольких условий с комбинацией их результатов через оператор `AND` или `OR`.

Если проверка условий выполняется, процесс идёт по «успешной» (зелёной) ветке; если нет — по «неуспешной» (красной) ветке.

##### Параллельный шлюз

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

В конфигурации параллельного шлюза можно настроить параметры ожидания:

- Ожидать выполнения **всех входящих элементов** для продолжения выполнения.
- Ожидать выполнения как минимум **одного входящего элемента** для продолжения выполнения.

При этом можно настроить, что именно считать «выполнением»:
- Только успешное завершение входящих в шлюз задач.
- Переход входящих задач в любой финальный статус (`Failed`, `Skipped` и т. д.).

Параллельный шлюз также может использоваться для разделения веток, если подключается после элементов «Эксклюзивный шлюз» или «Цикл», либо в качестве вспомогательного элемента для повышения читаемости схемы процесса.

##### Цикл

Применяется для многократного выполнения одной и той же части схемы: фрагмент процесса проходит **заданное число раз**, после чего выполнение продолжается дальше по схеме.

От элемента «Цикл» должны идти **две связи к следующим элементам** — в таком порядке:

- **Первая связь** — на **тело цикла** (ветка, которая будет выполняться повторно).
- **Вторая связь** — на **выход из цикла** (что выполняется после завершения всех итераций).

#### Связывание элементов
В конфигурации элемента задаётся **количество итераций** — сколько раз подряд должна выполниться ветка тела цикла (от 1 до 10000). На каждой итерации выполняются элементы тела цикла; после последней итерации процесс переходит по второй связи.

1. Перетащите элемент на схему.
1. Создайте связи между элементами, перетаскивая от одного элемента к другому.
1. Настройте условия для условных переходов.
Элемент «Цикл» можно ставить после «Эксклюзивного шлюза» или «Параллельного шлюза», если нужно повторять выбранную ветку, либо использовать его для упрощения схемы, когда один и тот же блок шагов нужно пройти фиксированное число раз.

### Параметры процесса

Expand All @@ -97,7 +112,7 @@ moduleStatus: experimental
- **Одно хранилище на запуск процесса** — каждый запуск процесса имеет своё хранилище.
- **Плоские ключи** — в хранилище используются только логические ключи (например `projectId`, `deployJobId`).
- **Запись только по правилам** — в хранилище записывается только то, что задано в настройках действий, входящих в процесс (см. [«Запись в хранилище процесса»](../actions/overview/#запись-в-хранилище-процесса)). Если правил записи нет — в хранилище ничего не записывается.
- **Чтение через плейсхолдеры** — в конфигурации действий (URL, заголовки, body и т.д.) можно использовать Go-шаблоны вида `{{ .store.<ключ> }}` (см. [«Хранилище процесса»](../../user/templating/#хранилище-процесса)).
- **Чтение через плейсхолдеры** — в конфигурации действий (URL, заголовки, body и т. д.) можно использовать Go-шаблоны вида `{{ .store.<ключ> }}` (см. [«Хранилище процесса»](../../user/templating/#хранилище-процесса)).

#### Как данные попадают в хранилище

Expand Down
Loading
Loading