Добавление RPA проекта (интерфейс UI4)
Описание экрана для предыдущей версии интерфейса (UI2) см. в статье Добавление RPA проекта.
Добавление RPA-проекта или его версии в Оркестратор выполняется в разделе RPA-проекты (пункт верхнего меню). На основной вкладке отображается список всех проектов; новый проект добавляется по кнопке Добавить RPA-проект в правой части панели инструментов:

Для добавления версии существующего проекта откройте меню Дополнительные действия (значок «⋮» в строке проекта) и выберите Добавить версию.
Все версии проекта сгруппированы в виде «master-detail». Мастером является активная версия проекта. Активность версии означает, что при автоматическом выполнении проекта через запуск задания будет использоваться именно активная версия (задание могло быть ранее создано с другой версией проекта). В UI4 связанные версии проекта открываются по ссылке в столбце Версия проекта — открывается панель Связанные версии, где для нужной версии доступны действия Редактировать, Назначить активной версией и Удалить, а также кнопка Добавить версию.
Форма добавления проекта
Добавление выполняется в два шага. Сначала в диалоге Добавить RPA-проект нужно выбрать zip-архив проекта по кнопке Выбрать файл:

После загрузки архива форма разворачивается: часть полей заполняется автоматически на основе метаданных проекта, полученных при чтении архива.


Поля формы (обязательные отмечены звёздочкой):
- Архив (zip) — zip-архив проекта, сформированный в Primo RPA Studio.
- Главный процесс — главный процесс проекта (например,
Main.ltw); список формируется из содержимого архива. - Наименование — имя проекта.
- Версия (внутренняя) — техническая версия проекта внутри Оркестратора (v0, …, vN), назначается Оркестратором автоматически; поле только для чтения.
- Версия проекта — строка в формате, принятом разработчиками проектов. Может заполняться на основе метаданных проекта, полученных при чтении архива проекта.
- Предрелиз (RC) — помечает версию как релиз-кандидат (RC). Если версия является RC, то в конструкторе прав роли должны быть настроены права на возможность работы с RC, иначе RC не может использоваться в заданиях*.
- Описание — произвольное текстовое описание проекта. Обычно используется для пояснения, что именно делает проект.
- Разрядность — 32 или 64. Проект будут выполнять роботы соответствующей разрядности.
- Приоритет определяет схему выхода проекта из очереди проектов. Проект может попасть в очередь, если при его запуске не был найден подходящий робот или лицензия. С версии 23.11 отображение значений в параметре зависит от используемого типа очереди: на основе RabbitMQ или на основе опроса БД. Система сама проверяет тип и выводит соответствующие значения в выпадающем списке (в UI4 значения приводятся в формате
P… (t = …), гдеt— время задержки). В зависимости от типа очереди проекта (задается в конфигурационном файле Оркестратора Администратором, параметрRobotStart.UseRabbitMQ):UseRabbitMQ = true(очередь на основе RabbitMQ): Определяет, как долго проект будет ожидать выхода из очереди проектов, когда туда попадет. Время (сек.) нахождения проекта в очереди проектов задается в конфигурационном файле Оркестратора. Высший приоритет будет иметь значение с минимальным временем задержки. В общем случае приоритет не гарантирует порядок.UseRabbitMQ = false(очередь на основе опроса таблицы БД): Определяет гарантированный порядок выхода проекта из очереди проектов, так как является полем для сортировки. Проекты с приоритетом High (0) первыми выходят из очереди, далее следуют проекты с приоритетом Medium (1), затем - с приоритетом Low (2).
- Использовать заглушки — роботу будет передаваться через параметры командной строки флаг, который разработчик проекта может обрабатывать в исходном коде проекта. Например, чтобы исключить выполнение некоторых частей проекта.
- Конфигурация запуска — параметры конфигурации, передаваемые роботу через параметры командной строки; разработчик проекта может обрабатывать их в исходном коде проекта. Задаётся одним из двух способов:
- Стандартная — выбор из предопределённых значений (
Отсутствует,Отладка,Релиз). - Специальная — произвольная строка конфигурации.
- Стандартная — выбор из предопределённых значений (
- Версии дистрибутива робота - Linux/Windows — здесь задается список дистрибутивов робота, с которыми совместим проект. Для автоматического запуска проекта будут рассматриваться только роботы этих версий.
- Ограничение числа запусков означает, что при автоматическом запуске проекта через задание, если проект уже выполняется в максимальном кол-ве экземпляров, запуск будет пропущен. Если не задано, то считается, что ограничение максимального кол-ва экземпляров отсутствует.
- Без повторов в очереди означает, что, если проект уже находится в очереди проектов, повторно в очередь проект он добавлен не будет. Рекомендуется использовать этот параметр, чтобы не спровоцировать неоправданный рост очереди проектов.
- Не очищать папку — при скачивании проекта в папку на машине робота, папка предварительно не будет очищаться. Чтобы не затереть некоторые зависимости проекта, которые могут быть добавлены в эту папку разработчиком проекта вручную.
- Запуск с повышенными правами — робот будет запускать проект с повышенными правами.
- Закрыть RDP-сессию означает, что при завершении проекта открытая ранее RDP-сессия, если она не нужна, будет закрыта. С одной стороны, закрытие сессии после выполнения проекта приводит к экономии ресурсов на машине робота, так как освобождаются все ресурсы, используемые внутри сессии (это могут быть различные программы, которые открыл робот в процессе выполнения проекта). С другой стороны, это может привести к необходимости частого пересоздания сессий, что негативно сказывается на работе RDS и ведет к нестабильности открытия/удержания RDP-сессий.
- Освободить сессию принудительно — если поднят этот флаг, то при освобождении RDP-сессии робот не смотрит на отсутствие признака освобождения RDP-сессии у других роботов. Должно использоваться, когда только один робот освобождает RDP-сессию за собой, чтобы не ломать работу остальных роботов в этой RDP-сессии. Дает прирост производительности за счет упрощения логики управления сессией. Поле доступно при включённом флаге Закрыть RDP-сессию.
- Задержка освобождения RDP-сессии (мсек) — RDP-сессия может очень быстро понадобиться другому роботу. Данный флаг используется, чтобы не пересоздавать сессию заново и не нагружать RDS. Можно так подобрать этот параметр, что RDP-сессия вообще не будет пересоздаваться, если она постоянно (возможно, с короткими паузами) требуется роботам.
* - Чтобы ограничить в продуктивном контуре работу с RC, который, возможно, потребует дополнительного тестирования/доработки в дальнейшем
Загружать проект через UI Оркестратора необходимо только в виде zip-архива, сформированного в Primo RPA Studio. При этом стоит следить за кодировкой файлов в архиве, особенно при использовании имен файлов на кириллице*. Рекомендуются кодировки utf-8 и cp866.
Значком с восклицательным знаком в списке отмечены проекты, которые при текущей стратегии очереди проектов не могут быть автоматически запущены через задания, так как к ним не привязаны роботы.
* - Кириллицу использовать не рекомендуется
Без повторов в очереди
Функция доступна с версии 1.25.7.38+
Для обеспечения единого поведения флага Без повторов в очереди при публикации новых версий проектов добавлен конфигурационный параметр NoDuplicateDeferredQueueFromParentVersion.
Настройка осуществляется в файле конфигурации Оркестратора (appsettings.ProdWin.json), в секции RpaProject:
"RpaProject": {
"NoDuplicateDeferredQueueFromParentVersion": true
}Поведение по умолчанию (параметр отсутствует или false):
- При публикации новой версии проекта из Студии → флаг Без повторов в очереди отключён.
- При публикации новой версии проекта из интерфейса Оркестратора → флаг проставляется (включён или сохраняется предыдущее значение).
Поведение при включении (true):
- Значение флага соответствует родительской версии (предыдущей версии того же проекта) независимо от источника публикации (Студия / Оркестратор).
⚠️ Важно: После изменения параметра необходимо перезапустить службу WebApi Оркестратора.
Источник публикации RPA-проекта
При публикации RPA-проекта (или его версии) в Оркестраторе автоматически фиксируется источник публикации. Это позволяет администраторам и пользователям понимать, откуда была загружена та или иная версия проекта: из Студии, из интерфейса Оркестратора или из Git (через CI/CD).
Отображение источника публикации
По умолчанию столбец Версия проекта на вкладке RPA-проекты показывает только номер версии и признак RC. Чтобы включить отображение источника публикации, администратору Оркестратора необходимо изменить конфигурацию:
- Откройте файл конфигурации WebApi Оркестратора (
appsettings.ProdWin.jsonилиappsettings.ProdLinux.json). - Добавьте или измените параметр:
"showPublishSrcTag": true - Сохраните изменения и перезапустите службу WebApi Оркестратора.
После этого в столбце Версия проекта рядом с номером версии будет отображаться метка источника:
- orch – версия загружена вручную через UI Оркестратора.
- studio – версия опубликована напрямую из Primo RPA Studio.
- git – версия загружена автоматически через интеграцию с GitLab (или другой Git-сервер).
Фильтрация по источнику публикации
При включённом параметре showPublishSrcTag в фильтрах над таблицей проектов появляется фильтр Источник публикации.
Доступные значения фильтра:
- Orchestrator – показать только проекты, загруженные через UI Оркестратора.
- Studio – показать только проекты, опубликованные из Студии.
- Git – показать только проекты, загруженные через Git-интеграцию.
После выбора значения таблица автоматически фильтруется, а в интерфейсе отображается количество записей, соответствующих фильтру. Сбросить фильтр можно выбором пустого значения или нажатием на крестик.
Примечание:
- Фильтр и метка источника отображаются только при включённом параметре
showPublishSrcTag. - Если параметр отсутствует или равен
false, информация об источнике не сохраняется и не показывается (поведение по умолчанию). - Для работы фильтра необходимо, чтобы проекты были опубликованы после включения параметра – старые версии могут не содержать данных об источнике.