Запуск скрипта из дашборда
В рамках работы с одним пространством есть возможность не переходить от дашборда к скриптам, а запустить скрипт с помощью настроенного действия из виджета Таблица.
Данный функционал позволяет, например:
- Добавить, удалить или обновить строки таблицы
- Совершить действие в другой системе:
- Создать задачу
- Повысить приоритет задачи
- Отправить сообщение
Настройка скрипта
Для запуска скрипта из дашборда необходимо создать скрипт, который можно будет использовать для настройки действия в виджете Таблица. Для этого:
- Создайте новый скрипт в Панели данных пространства.
- Первым блоком (триггером) обязательно должен быть Ручной запуск. Для запуска действия можно использовать скрипт только с этим триггером.
- Настройте ожидаемые поля, они будут заполняться пользователем или автоматически во время запуска действия из виджета. В параметрах блока:
- Укажите название поля
- Выберите тип данных (текст, число, дата или дата и время)
- Если будет приниматься ряд данных, поставьте галочку рядом с полем Массив
- Можно сделать поле обязательным для заполнения переключателем Обязательное поле
- При нажатии Продолжить открывается модальное окно с созданными полями. Заполните их и нажмите Выполнить. Блок протестируется и в левой панели отобразятся дата и время выполнения, а также введенные в полях значения.
- Добавьте блок, например, для удаления или обновления строки таблицы.
- Выберите таблицу, в которую будут вноситься изменения, и с помощью маппинга соотнесите поля.
- Протестируйте блок и опубликуйте скрипт.
Если скрипт не опубликован, он не отобразится при настройке действия в виджете Таблица.
Настройка действия
Для настройки действия:
- Перейдите в дашборд, создайте или выберите таблицу, в которой необходимо настроить действие, и откройте вкладку Действия в правой панели.
- Нажмите Добавить.
- Добавьте название и, при необходимости, описание (будет использоваться в качестве подсказки на этапе запуска скрипта). Чтобы дашборд автоматически обновлялся после запуска действия, нажмите переключатель Обновить дашборд после выполнения действия.
- В поле Условие блокировки кнопки можно добавить блокирующее условие, при выполнении которого кнопка в режиме просмотра отключается. Дополнительно для кнопки можно выбрать ее тип (основная, второстепенная или ссылка) и задать базовый цвет фона и текста.
- Настройте параметры действия:
- Название
- Описание
- Способ ввода:
- Из колонки — в параметр скрипта будет передаваться значение из таблицы, выбранное в списке
- Из переменной — указывается системная переменная или переменная дашборда (статический или динамический список). Для данного способа переменную необходимо вывести в виджет Параметр. В скрипт передается значение по умолчанию или выбранное в Параметре. При запуске действия выбрать значение невозможно
- Задать формулой — с помощью формулы можно настроить динамически изменяемый параметр
- Ввести вручную — данные вводятся вручную при запуске действия в поле Значение по умолчанию. Для поля можно указать описание.
- Статический список — создается статический список, при запуске пользователь выбирает значение из списка в окне запуска скрипта. Создать список можно с помощью YAML (например,
["en", "es"]
) или JSON (например,[{"label": "English", "value": "en"}, {"label": "Español", "value": "es"}]
). В поле Значение по умолчанию можно ввести или выбрать одно или несколько значений - Динамический список — создается динамический список, при запуске пользователь выбирает значение из списка в окне запуска скрипта, можно задать фильтр с помощью кнопки + Фильтр
- Переключатель Скрыть параметр. Если настройка включена, параметр не отображается в окне запуска действия
- По кнопке Удалить действие удаляется
- Опубликуйте дашборд.
Порядок параметров можно изменить. Для этого необходимо зажать параметр и переместить его на новое место. Изменение также отобразится в форме запуска действия.
После настройки действия вверху таблицы появляется кнопка, она становится активной в режиме просмотра.
Запуск действия
Чтобы запустить действие, нажмите на кнопку. Если выбран способ ввода Из колонки или Задать формулой, кнопка неактивна до тех пор, пока не выбраны строки. Чтобы выбрать отдельные строки, отметьте их «галочкой». Если отметить «галочкой» заголовок столбца, выберутся все строки.
Выделение строк сохраняется для каждой страницы отдельно. Если применить фильтрацию или сортировку на колонки таблицы, выделение строк сбрасывается.
Если вы нажали кнопку запуска скрипта по ошибке, запустите другой скрипт во время отображения анимации загрузки запуска. В этом случае окно запуска первого скрипта не открывается.
Откроется окно запуска скрипта, в котором вводятся данные, если это необходимо. Кнопкой Выполнить запускается скрипт. Для отмены нажмите Закрыть.
- Если в блоке Ручной запуск изменились ожидаемые поля, то в настройках действия с этим скриптом в виджете название ожидаемого поля изменится, а настройки способа ввода останутся прежними.
- Действие применяется только к первой 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 — динамический список |
columnName | string | Название колонки Для способа ввода Из колонки ( COLUMN ) |
tableName | string | Название таблицы Для способа ввода Из колонки ( COLUMN ) |
sourceVariable | string | Переменная Для способа ввода Из переменной ( VARIABLE ) |
formula | string | Формула Для способа ввода Задать формулой ( FORMULA ) |
defaultValue | string | Значение по умолчанию Для способов ввода Ввести вручную ( MANUALLY ) и Динамический список (DYNAMIC_LIST ) |
description | string | Описание поля Для способа ввода Ввести вручную ( MANUALLY ) |
options | string | Значения в списке Для способов ввода Статический список ( STATIC_LIST ) и Динамический список (DYNAMIC_LIST ) |
defaultOptionIndexes | string | Значения в списке, выбранные по умолчанию Для способа ввода Статический список ( STATIC_LIST ) |
isHidden | boolean | Скрыть параметр |
Пример:
actions:
- name: "Действие"
type: EXECUTE_SCRIPT
description: "Описание действия"
filters:
- name: case_id
formula: '"case_table"."case_id"'
dbDataType: 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"'
dbDataType: STRING
filters:
- name: case_id
formula: '"case_table"."case_id"'
dbDataType: STRING
format: STRING
filteringMethod: INCLUDE
checkedvalues:
- 'Value_1'
- 'Value_2'
- 'Value_3'
formValues: {}
defaultValue: '100'
isHidden: false
updateDashboard: true
Была ли статья полезна?