User Script
Запускайте код на JavaScript, C# или Python, передавайте входные данные и сохраняйте результат в формате JSON.
AlphaКак работает User Script
Действие User Script находится в категории Core → Scripting и запускает код на JavaScript, C# или Python. Добавьте именованные входы с нужными типами, а затем укажите, куда сохранить поля возвращённого JSON: во временные переменные автоматизации или существующие переменные проекта.
Код передаётся без подстановок. Если нужны шаблоны полей, используйте их в значениях входов, а не в тексте кода.
Пример
Добавьте вход с именем amount, выберите тип number и укажите значение 6. Выберите JavaScript и вставьте в тело функции следующий код:
return { total: input.amount * 2 };Добавьте выходное сопоставление: поле результата total, тип number, путь runtime.answer. Сохраните последовательность и нажмите Test. После этого следующие действия смогут использовать полученное значение.
Язык, входы и выходы
В поле Language выберите JavaScript, C# или Python. JavaScript получает объект input, C# — JsonObject, Python — dict. Скрипт должен вернуть значение, которое можно сериализовать в JSON. Во всех трёх языках для записи в журнал доступен log.info().
Входные значения поддерживают обычную подстановку полей. В выходном сопоставлении можно выбрать поле результата или вложенный путь и сохранить значение в runtime.* либо в существующую переменную проекта vars.*. Перед записью проверяется ожидаемый тип.
После Test откройте Runs и проверьте результат действия.
Проверка и ограничения
Syntax check only проверяет синтаксис: входные значения при этом не разрешаются и код не выполняется. Обычный Test запускает скрипт. Для выполнения действуют ограничения по времени и размеру, а также правило обработки ошибки, заданное для шага.
Разрешение и безопасность
Когда вы добавляете или меняете код в Editor, Core записывает разрешение именно для этого исходного текста на данном компьютере. Перед включением проекта проверьте импортированные и другие ещё не разрешённые скрипты. Разрешение хранится для текущего пользователя Windows и не переносится внутри проекта. При изменении языка или кода новый вариант потребуется проверить заново.
JavaScript работает в ограниченной среде, где данные передаются через JSON. C# и Python считаются доверенным кодом и могут обращаться к обычным системным API. Ограничения рабочего процесса не являются песочницей операционной системы. Запускайте только тот код, которому доверяете.