Инструменты
Инструментами в скриптах служат следующие блоки:
Разгруппировать массив
Блок разбирает массив на пакеты данных. Следующие блоки выполняются столько раз, сколько элементов внутри массива.
Служит для облегчения работы с массивами и позволяет использовать элементы массивов так, как если бы они были переменными. У блока одно поле для заполнения — массив (выбор из списка полученных данных на основе предыдущих блоков)
Пример:
- В блоке в поле Массив на панели маппинга выбираем массив и нажимаем Тестировать. Данные массива отображаются в квадратных скобках.
- На выходе получаем разгруппированные данные.
Ожидать обработку данных
Блок позволяет разделить скрипт на составные части, его составляющие не имеют доступа к данным друг друга. Он ждет окончания выполнения блоков столько раз, сколько необходимо при сборе данных до него, и запускает следующие один раз для расчета. Это позволяет сократить количество выполнений скрипта, а также поместить действия в один скрипт вместо нескольких.
Вернуть данные
Блок Вернуть данные возвращает GUID в источник, откуда получил его. Работает только с триггером Вебхук.
Блок предназначен для получения статусов выполнений, запущенных Вебхуком. Чтобы получить статусы, необходимо дождаться выполнения блока Вернуть данные и выполнить GraphQL-запрос:
{
automation{
script{
execution_result(uuid:"5053bb30-3eed-469c-a60a-7b554198ceee"){
status
}
}
}
}
execution_result — идентификатор, полученный при отправке данных.
Полученный ответ:
{
"data": {
"automation": {
"script": {
"execution_result": {
"status": "COMPLETED"
}
}
}
}
}
Если выполнение отсутствует или нет доступа к пространству, вместо ошибки вернется следующий статус:
{
"data": {
"automation": {
"script": {
"execution_result": {
"status": "NOT_FOUND"
}
}
}
}
}
Возможные статусы:
- COMPLETED — выполнение завершено
- STOPPED — выполнение остановлено
- EXECUTION — идёт выполнение
- ERROR — произошла ошибка
- STOPPING — выполнение останавливается
- NOT_FOUND — выполнение отсутствует или нет доступа к пространству
Данный блок завершает выполнение скрипта, поэтому блоки после него выполняться не будут.
Фильтр
Блок позволяет настроить логику скрипта и направить его по определенной ветке после проверки заданного условия.
Параметры:
- подключение (при обращении к БД)
- объекты сравнения
- условие
Данный блок не возвращает данные, а только фильтрует их.
Чтобы настроить скрипт:
- Укажите объекты сравнения в Поле.
- Задайте условие фильтрации через выпадающий список.
- Протестируйте блок с помощью кнопки Тестировать.
Чтобы добавить несколько условий для одной группы объектов, используйте кнопку И.
Чтобы создать дополнительную группу фильтров, используйте кнопку Или.
Чтобы удалить группу фильтров, нажмите кнопку Удалить.
Вы можете направить скрипт по нескольким веткам:
- чтобы добавить несколько условий и направить скрипт по разным веткам в зависимости от соответствия данных заданным условиям, добавьте в скрипт несколько блоков Фильтр
- чтобы направить по разным веткам скрипт с данными, полученными после проверки одного условия, сделайте нужное количество ответвлений от блока Фильтр
Для разных типов данных применимы разные условия:
Типы данных | Доступные условия |
---|---|
Строка | - начинается с - не начинается с - оканчивается на - не оканчивается на |
Строка, массив | - содержит - не содержит |
Все типы данных | - существует - не существует - равно - не равно |
Строка, число, дата, дата и время | - больше - меньше - больше или равно - меньше или равно |
Дата, дата и время | - последнее время |
Логический тип | - истина - не истина |
Если выбранные типы условий невозможно сравнить, возникает ошибка.
Пример:
- Указываем объекты сравнения и выбираем условие фильтрации в выпадающем списке.
- Запускаем тестирование с помощью кнопки Тестировать. Все дальнейшие действия будут осуществляться с данными, полученными в результате фильтрации.
- Добавляем блоки для дальнейшей работы с отфильтрованными данными.
Была ли статья полезна?