Инструменты для разработки интеграций
Документация
Главная

Инструменты для разработки интеграцийBETA

Для разработки пользовательских интеграций в Proceset используются специализированные инструменты.

Integration SDK

Библиотека, предоставляющая набор интерфейсов, типов и вспомогательных утилит для создания пользовательских интеграций в системе Proceset.

Используется для описания блоков, подключений и логики работы интеграции.

Установка Integration SDK

Для разработки пользовательских интеграций необходимо подключить Integration SDK в проект интеграции. SDK содержит типы, интерфейсы и вспомогательные утилиты, которые используются при описании блоков, подключений и логики выполнения.

Установить SDK можно с помощью одного из менеджеров пакетов:

npm install @infomaximum/integration-sdk

или

yarn add -D @infomaximum/integration-sdk
Важно

Всегда выбирайте и фиксируйте версию SDK, соответствующую версии Proceset, в которой будет использоваться интеграция. Использование несовместимой версии SDK может привести к ошибкам сборки или некорректной работе интеграции.

Версия SDKВерсия Proceset
2.3.02503
2.3.02504
3.0.0-22505
3.0.0-22506
3.1.12507
3.2.12508
3.2.12509

Package CLI

Инструмент командной строки, предоставляющий разработчикам набор команд для:

  • Инициализации проекта интеграции
  • Сборки пакетов
  • Запуска проекта в режиме разработки
  • Генерации шаблонного кода для виджетов, приложений и интеграций

Инициализация проекта

Для создания нового пакета с интеграцией выполните команду следующую команду:

npx @infomaximum/package-cli integration init my_integration

После выполнения этой команды будет создан шаблонный проект my_integration и инициализирован git-репозиторий.

Сборка проекта

Для сборки пакета интеграции выполните команду команду

yarn im-package-cli integration build

Для сборки скрипта интеграции выполните команду команду

yarn im-package-cli integration build --type=script

Для отслеживания изменений в файлах и пересборки скрипта интеграции выполните команду команду

yarn im-package-cli integration build --watch

Вывод всех доступных команд

Вы можете использовать флаг -h, чтобы просмотреть список всех доступных команд и их описаний:

yarn im-package-cli -h
КомандаОписание
yarn buildВыполняет сборку пакета с интеграцией. Полученный пакет можно загружать в маркетплейс
yarn devЗапускает сборку скрипта интеграции с последующим отслеживанием изменений в файлах и автоматической пересборкой
yarn dev --copyЗапускает сборку скрипта интеграции с отслеживанием изменений и пересборкой. Дополнительно копирует актуальную версию скрипта в буфер обмена для вставки в редактор
yarn im-package-cli -hОтображает список всех доступных команд для работы с интеграцией
yarn lintЗапускает проверку кода на синтаксические ошибки и ошибки типизации (TypeScript), а также выполняет анализ через ESLint
yarn serveВыполняет сборку и пересборку скрипта при изменении файлов, затем отправляет актуальную версию скрипта на сервер. Требует настройки переменных окружения в .env
yarn testЗапускает тесты проекта с интеграцией (используется Vitest)

Среда выполнения интеграций GraalJS

Код пользовательских интеграций выполняется в среде GraalJS. В таблице ниже приведена информация о доступных возможностях и ограничениях JavaScript и механизмов взаимодействия.

КатегорияФункционалСтатусКомментарий специалиста
ConcurrencySharedArrayBufferДоступноВыделение разделяемой памяти разрешено для высокопроизводительных задач
ConcurrencyAtomics (Data)Доступноadd, load, exchange, compareExchange работают корректно
ConcurrencyAtomics (Wait)БлокированоAtomics.wait выдает TypeError, защищая поток от зависания
Core JSСтандарты ES2023+ДоступноObject, Array, Math, JSON, Map, Set работают в полном объtме
EncodingTextEncoder/DecoderДоступноПолноценная поддержка преобразования строк в байты и обратно
InteropJava AccessБлокированоОбъекты Java, Packages присутствуют, но вызовы методов запрещены (Unsupported operation)
InteropPolyglotБлокированоPolyglot.eval и evalFile недоступны для запуска других языков (Python/R)

Была ли статья полезна?

Да
Нет
Предыдущая
Пользовательские интеграции
Следующая
Архитектура пользовательских интеграций

Дайджест новостей и обновлений —

один раз в месяц

Заполняя форму, я даю согласие на обработку моих персональных данных
430006, Саранск,
Северо-восточное шоссе, д. 3
ОКВЭД 62.01
ИНН 1328​909857
Код вида деятельности
в области ИТ 15.02 и 17.01
Языки программирования