Вирішити долю виконання, яке чекає на людину

Читайте запити на погодження, схвалюйте або відхиляйте їх і знайте, що буде, якщо ніхто не вирішить вчасно.

3 хв читання

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

Де розташовані погодження

Відкрийте Погодження. Вкладки Очікують, Схвалені, Відхилені і Протерміновані показують запити проєкту, вибраного в шапці. Вкладка Очікують перечитує список кожні 30 секунд; Оновити перечитує його одразу.

Рядок називає флоу й операцію, нотатку, яку автор флоу залишив на вузлі, вузол і те, коли було запитано рішення. Рядок, що очікує, каже, скільки лишилося на рішення; вирішений — хто вирішив і коли. Натисніть на рядок, щоб відкрити його виконання.

Сторінка відкривається тому, хто має дозвіл management:read. Для схвалення й відхилення потрібен management:write: у консолі він є в ролей Власник і Адміністратор. Без нього кнопки не показуються.

Схвалити або відхилити

1. Виберіть запит

На вкладці Очікують знайдіть рядок і натисніть Схвалити або Відхилити.

2. Вкажіть причину

Вікно просить підтвердити. Причина необов’язкова: вона зберігається разом із погодженням і видна в трасуванні виконання.

3. Підтвердіть

Натисніть Схвалити або Відхилити у вікні. Рядок зникає з вкладки Очікують.

  • Схвалити виводить виконання з вузла через порт Схвалено, і воно йде далі так, як каже флоу, разом із викликом моделі.

  • Відхилити виводить його через порт Відхилено. За виклик моделі, якого воно чекало, нічого не списується.

  • Рішення не рухає виконання одразу: воно продовжиться протягом хвилини.

Поки виконання чекає, жоден холд не стоїть. Гроші резервуються, коли виконання доходить до виклику моделі — після рішення, за новою оцінкою.

Якщо ніхто не вирішив

Автор флоу задає на вузлі, скільки може тривати рішення; новий вузол дає 24 години. Коли цей час минає, запит стає expired, і виконання виходить через Відхилено, наче його відхилили. Рядок, що очікує і чий час минув, кнопок не показує.

Запит, чиє виконання закінчилося — наприклад, його закрили, бо воно надто довго чекало, — теж вирішити не можна. Через API таке рішення відхиляється з кодом approval_expired, а рішення щодо запиту, який хтось щойно вирішив, — з кодом approval_already_decided. Консоль тоді перечитує список.

Запит від вузла моделі

Рядок може прийти й від вузла AI-модель, чия політика перевитрати просить людину схвалити виклик, який виявився дорожчим за свій холд. Такий рядок називає вузол моделі, а його нотатка, яку пише Slen, називає нову оцінку виклику і холд, який у нього був. У нового вузла моделі політики перевитрати немає, а політика, яка у вузла є, практично не спрацьовує, — чому, каже рядок overrun_approval_required у статті Коди помилок. Саму політику описує стаття AI-модель.

  • Схвалити пускає виклик моделі далі. Його холд було повернуто, коли запитувалося погодження, тому виклик бере новий.

  • Відхилити або відсутність рішення протягом 24 годин відхиляє виклик із кодом overrun_stopped. Виконання виходить із вузла моделі через його порт Відмова і закінчується як rejected, якщо до цього порту нічого не підключено.

Через API і у вебхуках

  • API-ключ із management:write вирішує через POST /v1/approvals/{id}/approve або POST /v1/approvals/{id}/reject; його рядок тоді каже, що вирішив API-ключ.

  • Подія вебхука approval.requested надсилається, коли виконання починає чекати, а approval.decided — коли запит схвалено, відхилено або протерміновано, — Вебхуки.

  • Журнал аудиту записує кожне схвалення й відхилення.

Що читати далі