Запуск скрипта из дашборда
В рамках работы с одним пространством есть возможность не переходить от дашборда к скриптам, а запустить скрипт с помощью настроенного действия из виджета Таблица.
Данный функционал позволяет, например:
- Добавить, удалить или обновить строки таблицы
- Совершить действие в другой системе:
- Создать задачу
- Повысить приоритет задачи
- Отправить сообщение
Настройка скрипта
Для запуска скрипта из дашборда необходимо создать скрипт, который можно будет использовать для настройки действия в виджете Таблица. Для этого:
- Создайте новый скрипт в Панели данных пространства.
- Первым блоком (триггером) обязательно должен быть Ручной запуск. Для запуска действия можно использовать скрипт только с этим триггером.
- Настройте ожидаемые поля, они будут заполняться пользователем или автоматически во время запуска действия из виджета. В параметрах блока:
- Укажите название поля
- Выберите тип данных (текст, число, дата или дата и время)
- Если будет приниматься ряд данных, поставьте галочку рядом с полем Массив
- Можно сделать поле обязательным для заполнения переключателем Обязательное поле
- При нажатии Продолжить открывается модальное окно с созданными полями. Заполните их и нажмите Выполнить. Блок протестируется и в левой панели отобразятся дата и время выполнения, а также введенные в полях значения.
- Добавьте блок, например, для удаления или обновления строки таблицы.
- Выберите таблицу, в которую будут вноситься изменения, и с помощью маппинга соотнесите поля.
- Протестируйте блок и опубликуйте скрипт.
Если скрипт не опубликован, он не отобразится при настройке действия в виджете Таблица.
Настройка действия
Для настройки действия:
- Перейдите в дашборд, создайте или выберите таблицу, в которой необходимо настроить действие, и откройте вкладку Действия в правой панели.
- Нажмите Добавить.
- Добавьте название и, при необходимости, описание (будет использоваться в качестве подсказки на этапе запуска скрипта). Чтобы дашборд автоматически обновлялся после запуска действия, нажмите переключатель Обновить дашборд после выполнения действия.
- В поле Условие блокировки кнопки можно добавить блокирующее условие, при выполнении которого кнопка в режиме просмотра отключается. Дополнительно для кнопки можно выбрать ее тип (основная, второстепенная или ссылка) и задать базовый цвет фона и текста.
- Настройте параметры действия:
- Название
- Описание
- Способ ввода:
- Из колонки — в параметр скрипта будет передаваться значение, выбранное в таблице
- Из переменной — указывается системная переменная или переменная дашборда (статический или динамический список). Для данного способа переменную необходимо вывести в виджет «Параметр». В скрипт передается значение по умолчанию или выбранное в «Параметре». При запуске действия выбрать значение невозможно
- Задать формулой — с помощью формулы можно настроить динамически изменяемый параметр
- Ввести вручную — данные вводятся вручную при запуске действия
- Статический список — создается статический список, при запуске пользователь выбирает значение из списка в окне запуска скрипта
- Динамический список — создается динамический список, при запуске пользователь выбирает значение из списка в окне запуска скрипта, можно задать фильтр с помощью кнопки + Фильтр
- Переключатель Скрыть параметр. Если настройка включена, параметр не отображается в окне запуска действия
- По кнопке Удалить действие удаляется
- Опубликуйте дашборд.
Порядок параметров можно изменить. Для этого необходимо зажать параметр и переместить его на новое место. Изменение также отобразится в форме запуска действия.
После настройки действия вверху таблицы появляется кнопка, она становится активной в режиме просмотра.
Запуск действия
Чтобы запустить действие, нажмите на кнопку. В случае если выбран способ ввода, использующий значение из Таблицы («из колонки» или «задать формулой»), кнопка неактивна до тех пор, пока не выбраны строки. Чтобы выбрать отдельные строки, отметьте их «галочкой». Если отметить «галочкой» заголовок столбца, выберутся все строки.
Откроется окно запуска скрипта, в котором вводятся данные, если это необходимо. Кнопкой Выполнить запускается скрипт. Для отмены нажмите Закрыть.
- Если в блоке Ручной запуск изменились ожидаемые поля, то в настройках действия с этим скриптом в виджете название ожидаемого поля изменится, а настройки способа ввода останутся прежними.
- Действие применяется только к первой 1 000 выбранных строк.
- Запуск скрипта доступен пользователям с доступом на чтение и/или редактирование пространства и дашборда.
Действие невозможно запустить, когда:
- Используемый скрипт удален
- В используемом скрипте блок-триггер Ручной запуск заменен на другой
- Из модели данных удалена используемая таблица
- Используется пустое значение колонки из другой связанной таблицы. Необходимо изменить ее свойство на Nullable
Когда скрипт запускается, в правом нижнем углу отображается сообщение Действие «Название действия» запущено. Если скрипт успешно завершает работу, в правом нижнем углу появляется сообщение Действие выполнено. Если скрипт не был выполнен успешно, отображается сообщение об ошибке. В зависимости от причины возникновения ошибки вы можете перейти в журнал выполнений, перезапустить скрипт или закрыть окно.
Примеры запуска скриптов из дашборда
Чтобы выполнить какое-либо действие, необходимо создать скрипт.
Добавить строку
Чтобы добавить строку в таблицу:
- Создайте новый скрипт в дашборде.
- Добавьте блок Ручной запуск. В блок добавьте ожидаемые поля, укажите необходимые типы данных и нажмите Продолжить. Используйте названия колонок таблиц из модели данных. Протестируйте блок.
- Добавьте блок Добавить строки. В блоке выберите необходимую таблицу, а в колонках — указанные в первом блоке ожидаемые поля. Для удобства используйте визуальный маппинг. Протестируйте блок.
- Опубликуйте скрипт.
- Откройте дашборд с необходимой таблицей. Добавьте действие во вкладке Действия и укажите для него название. В параметрах каждого поля укажите необходимый способ ввода и колонку. Чтобы результат выполнения отобразился сразу, активируйте переключатель Обновить дашборд после выполнения действия.
- Опубликуйте дашборд. В верху таблицы нажмите Добавить строку. Укажите необходимые параметры и нажмите Выполнить.
- Строка добавлена. В правом нижнем углу экрана появилось сообщение об успешном выполнении действия.
Удалить строки
Чтобы удалить строки из таблицы:
- Создайте новый скрипт в дашборде.
- Добавьте блок Ручной запуск. В блок добавьте ожидаемое поле, укажите необходимый тип данных и нажмите Продолжить. Используйте название колонки таблицы из модели данных. Протестируйте блок.
- Добавьте блок SQL-запрос с запросом на удаление строки. Протестируйте блок.
Пример SQL-запроса для удаления строки:
DELETE FROM case_table WHERE incident_id = ${a1.Номер проблемы};
- Опубликуйте скрипт.
- Откройте дашборд с необходимой таблицей. Добавьте действие во вкладке Действия и укажите для него название. В параметрах поля укажите способ ввода Из колонки. Выберите ту же колонку, что и указана в SQL-запросе скрипта. Чтобы результат выполнения отобразился сразу, активируйте переключатель Обновить дашборд после выполнения действия.
- Опубликуйте дашборд. Выберите строки, которые хотите удалить и нажмите Удалить строки над таблицей. Нажмите Выполнить.
- Строки удалены. В правом нижнем углу экрана появилось сообщение об успешном выполнении действия.
Изменить приоритет
Чтобы изменить приоритет:
- Создайте новый скрипт в дашборде.
- Добавьте блок Ручной запуск. В блок добавьте ожидаемые поля, укажите необходимые типы данных и нажмите Продолжить. Протестируйте блок.
- Добавьте блок Обновить строки. В блоке укажите необходимую таблицу, колонку-ключ и значение ключа, а в колонках — приоритет. Для удобства можно использовать визуальный маппинг. Протестируйте блок.
- Опубликуйте скрипт.
- Откройте дашборд с необходимой таблицей. Добавьте действие во вкладке Действия и укажите для него название. В параметрах каждого поля укажите необходимый способ ввода и колонку. Чтобы результат выполнения отобразился сразу, активируйте переключатель Обновить дашборд после выполнения действия.
- Опубликуйте дашборд. Выберите строки, для которых хотите изменить приоритет. В верху таблицы нажмите Изменить приоритет. Введите или выберите необходимое значение и нажмите Выполнить.
- У выбранных задач изменился приоритет. В правом нижнем углу экрана появилось сообщение об успешном выполнении действия.
Настройки скрипта и действия в YAML
Действие по клику для таблицы добавляется в блоке actions
. В таблице ниже представлены ключи, которые можно использовать.
Ключ | Тип | Определение |
---|---|---|
name | string | Название действия |
type | enum | Тип действия по клику: EXECUTE_SCRIPT Возможен только один тип действия |
description | string | Описание (необязательно) |
filters | — | Предустановленные фильтры (необязательно) |
scriptName | string | Название скрипта |
parameters | — | Параметры скрипта (необязательно) |
updateDashboard | boolean | Обновить дашборд после выполнения действия |
В блоке parameters
указываются параметры скрипта:
Ключ | Тип | Определение |
---|---|---|
name | string | Название параметра в скрипте |
displayName | string | Отображаемое название |
inputMethod | enum | Способ ввода значения переменной: - COLUMN — из колонки- VARIABLE — из переменной- FORMULA — задать формулой- MANUALLY — вручную- STATIC_LIST — статический список- DYNAMIC_LIST — динамический список |
isHidden | boolean | Скрыть параметр |
Пример:
actions:
- name: "Действие"
type: EXECUTE_SCRIPT
description: "Описание действия"
filters:
- name: case_id
formula: '"case_table"."case_id"'
dataType: STRING
format: STRING
filteringMethod: INCLUDE
checkedvalues:
- 'Value_1'
- 'Value_2'
- 'Value_3'
formValues: {}
scriptName: script_1
parameters:
- name: parameter_1
displayName: "Параметр 1"
inputMethod: COLUMN
tableName: table_1
columnName: column_1
isHidden: false
- name: parameter_2
displayName: "Параметр 2"
inputMethod: VARIABLE
sourceVariable: variable_1
isHidden: false
- name: parameter_3
displayName: "Параметр 3"
inputMethod: FORMULA
formula: 'avg("table_1"."column_1")'
isHidden: false
- name: parameter_4
displayName: "Параметр 4"
inputMethod: MANUALLY
description: "Описание поля параметра"
isHidden: false
- name: parameter_5
displayName: "Параметр 5"
inputMethod: STATIC_LIST
options:
- '10'
- '20'
- '30'
defaultOptionIndex: 0
isHidden: false
- name: parameter_6
displayName: "Параметр 6"
inputMethod: DYNAMIC_LIST
formula: '"table_1"."column_1"'
dataType: STRING
filters:
- name: case_id
formula: '"case_table"."case_id"'
dataType: STRING
format: STRING
filteringMethod: INCLUDE
checkedvalues:
- 'Value_1'
- 'Value_2'
- 'Value_3'
formValues: {}
defaultValue: '100'
isHidden: false
updateDashboard: true
Была ли статья полезна?