UiPath Documentation
studio
latest
false
Guide de l'utilisateur de Studio
Important :
La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

À propos de l’outil Migrateur d’activités

Migrate legacy automation projects to the modern UiPath platform using the Activity Migrator CLI tool.

But du Migrateur d'activités

Migrateur d'activités est un outil d'interface de ligne de commande (CLI) essentiel pour les organisations faisant la transition de projets d'automatisation hérités vers la UiPath Platform moderne, permettant l'accès aux dernières fonctionnalités et capacités :

  • Automatisez le processus de migration en simplifiant et en rationalisant le transfert de la configuration et des dépendances du processus.
  • Réduisez l'effort manuel et les erreurs en garantissant la cohérence et la précision pendant la migration, au lieu de transférer manuellement les dépendances et les activités.

Scénarios de migration pris en charge

Migration de l'infrastructure du projet

La migration d'un projet Windows - Héritage vers la compatibilité Windows est fortement recommandée pour plusieurs raisons stratégiques, techniques et liées à l'assistance :

  1. Performances améliorées : les projets Windows s'exécutent plus rapidement et plus efficacement en raison d'une meilleure intégration avec .NET Core et les API Windows modernes.
  2. Meilleure compatibilité avec les bibliothèques externes : les projets Windows prennent en charge les versions plus récentes des bibliothèques et des dépendances, ce qui facilite l'intégration à des systèmes externes.

Accès aux capacités UI Automation modernes

De nombreuses nouvelles fonctionnalités d'UI Automation, telles que Cible unifiée et Healing Agent, ne sont compatibles qu'avec l'infrastructure UI Automation moderne. Par conséquent, la migration des activités UI Automation classiques vers l'expérience moderne est nécessaire.

Migration des activités Outlook obsolètes

Microsoft met fin à Outlook classique et encourage l'adoption de Microsoft 365. Par conséquent, le Migrateur d'activités prend en charge la transition des dépendances d'automatisation de UiPath.Mail.Activities (qui s'appuient sur l'API Outlook classique) vers UiPath.MicrosoftOffice365.Activities basée sur UiPath Integration Service.

GSuite activities migration

To benefit from the latest enhancements, we recommend using the Integration Service connections-based Google Workspace activities. The Activity Migrator supports converting classic activities to modern activities within the same UiPath.GSuite.Activities package. These modern activities automate across Google Workspace (formerly known as GSuite) applications, covering six services: Gmail, Calendar, Drive, Docs, Sheets, and Apps Script.

Migrateur des activités vs. convertisseur Studio Windows - Héritage

Utilisez le convertisseur Studio Windows - Héritage lorsque :

  • Il vous suffit de convertir les projets de Windows - Héritage vers Windows un par un.
  • Aucune migration d'activité n'est requise.

Utilisez le Migrateur d'activités lorsque :

  • Vous souhaitez convertir plusieurs projets Windows - Héritage vers Windows (conversion en bloc prise en charge).
  • Migration of UI Automation, Mail, or classic GSuite activities is needed.
  • Toute combinaison des scénarios ci-dessus s'applique.

Où obtenir le Migrateur d'activités

Suivez les étapes ci-dessous pour télécharger l'outil :

  1. Naviguez vers UiPath Automation Cloud.
  2. Sélectionnez le bouton Aide dans le coin supérieur droit.
  3. Sous Ressources, sélectionnez Téléchargements.
  4. Under the Featured Download list, select Activity Migrator Tool.
  5. Sélectionnez le lien de téléchargement.

Résultat

Le fichier Migrateur d'activité .zip est téléchargé sur votre machine. Extrayez-le et installez l’outil dans le dossier <tool-install-dir> avant d’exécuter des commandes.

Prérequis

  • Si l'outil est utilisé sur une machine où Studio n'est pas installé, installez .NET Desktop Runtime 8.0.
  • Ouvrez les projets migrés avec les versions de Studio 2024.10 ou ultérieures.

Comment utiliser le Migrateur d'activités

Commande : <tool-install-dir>\UiPath.Upgrade.exe

Utilisation : UiPath.Upgrade.exe [command] [options]

Options globales

OptionDescription
-?, -h, --helpAffiche l'aide et les informations d’utilisation.

Commandes disponibles

CommandeDescription
versionAfficher les informations de version.
analyzeAnalysez un projet pour la migration sans apporter de modifications.
upgradeMigrez un projet ou des parties de celui-ci.
bulkAnalysez ou migrez tous les projets d'un dossier.

Analyser un projet

Cette option simule la migration et génère un rapport sans effectuer la migration réelle ou modifier le projet.

Commande : <tool-install-dir>\UiPath.Upgrade.exe analyze

Utilisation : UiPath.Upgrade.exe analyze [options]

OptionDescription
-?, -h, --helpAffiche l'aide et les informations d’utilisation.
-p, --project-path (requis)Chemin du projet à analyser ou à mettre à niveau. Le dossier fourni sous la forme <project-path> doit contenir le fichier project.json du projet.
-o, --output-pathChemin de sortie pour le projet mis à niveau (facultatif). S'il n'est pas spécifié, un nouveau dossier avec le suffixe _Upgraded est créé.
-v, --verboseActivez la journalisation Verbose.
-f, --output-formatFormat de sortie : console (par défaut) ou sarif.
-e, --extension-directoryRépertoire pour rechercher des extensions. Pour une utilisation avancée uniquement.
--ignore-missing-dependenciesIgnorez les dépendances manquantes pendant la mise à niveau. Les dépendances manquantes apparaissent sous forme d'avertissements. Les workflows affectés peuvent signaler des types manquants, ne pas parvenir à compiler ou ne pas parvenir à effectuer d'autres migrations nécessaires.
--orchestrator-urlL'URL complète d'Orchestrator, y compris le nom de l'organisation (par exemple, https://cloud.uipath.com/myorg). Si elle n'est pas spécifiée, la connexion de Studio est utilisée. Lorsqu'elle est spécifié, vous devez également fournir des identifiants via un jeton d'accès personnel (PAT) à l'aide de --orchestrator-pat ou l'ID d'application externe et le secret à l'aide de --orchestrator-application-id et --orchestrator-application-secret.
--orchestrator-tenantLe nom du locataire d'Orchestrator. Si aucune valeur n'est indiquée, la valeur par défaut est DefaultTenant.
--orchestrator-patJeton d'accès personnel (PAT) pour l'authentification d'Orchestrator, utilisé pour accéder aux flux de la bibliothèque d'Orchestrator. Créez un jeton d'accès personnel et ajoutez l'étendue d'accès à l'API OrchestratorOR.Execution.Read. Reportez-vous à Jetons d'accès personnels. Vous pouvez également configurer un ID d'application et un secret à l'aide de --orchestrator-application-id et --orchestrator-application-secret.
--orchestrator-application-idID d'application OAuth pour l'authentification d'Orchestrator (alternative à PAT). Utiliser avec --orchestrator-application-secret. Reportez-vous à Gestion des applications OAuth externes.
--orchestrator-application-secretSecret d'application OAuth pour l'authentification d'Orchestrator (alternative à PAT). Utiliser avec --orchestrator-application-id. Reportez-vous à Gestion des applications OAuth externes.
--enabled-extensionsComma-separated list of extensions to enable. See Available extensions.
--disabled-extensionsListe des extensions à désactiver, séparées par des virgules. Les extensions disponibles sont remplies dynamiquement en fonction des extensions découvertes.
--disable-all-extensionsDésactivez toutes les extensions. Cette option est mutuellement exclusive avec --enabled-extensions et --disabled-extensions.
--uia-package-versionLa version du package d'activités UI Automation à utiliser pour la migration. Si aucune valeur n'est indiquée, la valeur par défaut est 25.10.21. La version cible doit être supérieure à la version par défaut. Sinon, la valeur par défaut est utilisée.
--uia-fix-selector-strategyLorsqu'elle est définie sur true, corrige l'ambiguïté de l'énumération SelectorStrategy dans les expressions préexistantes après la migration. S'applique à la version 25.10.29 d'UIAutomation ou ultérieure. Par défaut : false. L'ambiguïté résulte de l'énumération SelectorStrategy existante à la fois dans les espaces de noms UiPath.Core et UiPath.UIAutomationNext.Enums.L'utilisation du nom entièrement qualifié résout ce problème.
--uia-enable-partial-migrationMigrate activities even when full compatibility cannot be guaranteed. The migration generates the closest supported equivalent, which may require manual adjustments to function correctly. Requires UI Automation package 25.10.38 or later (see --uia-package-version). This option is ignored when using earlier package versions. Default: false.
--mail-o365-package-versionLa version du package d'activités Microsoft Office 365 à utiliser pour la migration. La version par défaut est 3.6.10. La version cible doit être supérieure à la version par défaut. Sinon, la valeur par défaut est utilisée.
--config, --mail-configSpécifie le chemin d'accès à un fichier JSON de configuration personnalisé. La configuration peut être utilisée pour modifier le comportement par défaut de certaines activités ou affecter des valeurs constantes à des propriétés qui nécessitent une entrée de l'utilisateur pendant la migration. Reportez-vous à Fichier de configuration.
--gsuite-package-versionThe version of the UiPath.GSuite.Activities activities package to use for migration. Defaults to version 3.8.10 if not specified. The target version must be higher than the default version. If the target version is lower, the default version will be used.
--gsuite-configSpécifie le chemin d'accès à un fichier JSON de configuration personnalisé. La configuration peut être utilisée pour modifier le comportement par défaut de certaines activités ou affecter des valeurs constantes à des propriétés qui nécessitent une entrée de l'utilisateur pendant la migration. Reportez-vous à Fichier de configuration.
--gsuite-migrate-onlyComma-separated list of services included in GSuite migrator (case sensitive). Available values: gmail, calendar, drive, docs, sheets, appsscript. If specified, only those services will be run.

Migrer un projet

Cette option effectue la migration réelle d'un projet ou de parties de celui-ci.

Commande : <tool-install-dir>\UiPath.Upgrade.exe upgrade

Utilisation : UiPath.Upgrade.exe upgrade [options]

OptionDescription
-?, -h, --helpAffiche l'aide et les informations d’utilisation.
-p, --project-path (requis)Chemin d'accès au dossier contenant le fichier project.json du projet.
-o, --output-pathChemin de sortie pour le projet mis à niveau (facultatif). S'il n'est pas spécifié, un nouveau dossier avec le suffixe _Upgraded est créé.
-v, --verboseActivez la journalisation Verbose.
-f, --output-formatFormat de sortie : console (par défaut) ou sarif.
-e, --extension-directoryRépertoire pour rechercher des extensions. Pour une utilisation avancée uniquement.
--ignore-missing-dependenciesIgnorez les dépendances manquantes pendant la mise à niveau. Les dépendances manquantes apparaissent sous forme d'avertissements. Les workflows affectés peuvent signaler des types manquants, ne pas parvenir à compiler ou ne pas parvenir à effectuer d'autres migrations nécessaires.
--orchestrator-urlL'URL complète d'Orchestrator, y compris le nom de l'organisation. Si elle n'est pas spécifiée, la connexion de Studio est utilisée. Lorsqu'ils sont spécifiés, les identifiants sont requis.
--orchestrator-tenantLe nom du locataire d'Orchestrator. Si aucune valeur n'est indiquée, la valeur par défaut est DefaultTenant.
--orchestrator-patJeton d'accès personnel (PAT) pour l'authentification d'Orchestrator. Nécessite l'étendue OR.Execution.Read.
--orchestrator-application-idID d'application OAuth pour l'authentification d'Orchestrator (alternative à PAT).
--orchestrator-application-secretSecret d'application OAuth (alternative à PAT).
--enabled-extensionsComma-separated list of extensions to enable. See Available extensions.
--disabled-extensionsListe des extensions à désactiver, séparées par des virgules. Les extensions disponibles sont remplies dynamiquement en fonction des extensions découvertes.
--disable-all-extensionsDésactivez toutes les extensions. Mutuellement exclusifs avec --enabled-extensions et --disabled-extensions.
--uia-package-versionVersion du package UiPath.UIAutomation.Activities cible. Par défaut, il s'agit de 25.10.21.
--uia-fix-selector-strategyLorsqu'elle est définie sur true, corrige l'ambiguïté de l'énumération SelectorStrategy dans les expressions préexistantes après la migration. S'applique à la version 25.10.29 d'UIAutomation ou ultérieure. Par défaut : false. L'ambiguïté résulte de l'énumération SelectorStrategy existante à la fois dans les espaces de noms UiPath.Core et UiPath.UIAutomationNext.Enums.L'utilisation du nom entièrement qualifié résout ce problème.
--uia-enable-partial-migrationMigrate activities even when full compatibility cannot be guaranteed. The migration generates the closest supported equivalent, which may require manual adjustments to function correctly. Requires UI Automation package 25.10.38 or later (see --uia-package-version). This option is ignored when using earlier package versions. Default: false.
--mail-o365-package-versionLa version du package d'activités Microsoft Office 365 à utiliser pour la migration. La version par défaut est 3.6.10. La version cible doit être supérieure à la version par défaut. Sinon, la valeur par défaut est utilisée.
--config, --mail-configSpécifie le chemin d'accès à un fichier JSON de configuration personnalisé. La configuration peut être utilisée pour modifier le comportement par défaut de certaines activités ou affecter des valeurs constantes à des propriétés qui nécessitent une entrée de l'utilisateur pendant la migration. Reportez-vous à Fichier de configuration.
--gsuite-package-versionThe version of the UiPath.GSuite.Activities activities package to use for migration. Defaults to version 3.8.10 if not specified. The target version must be higher than the default version. If the target version is lower, the default version will be used.
--gsuite-configSpécifie le chemin d'accès à un fichier JSON de configuration personnalisé. La configuration peut être utilisée pour modifier le comportement par défaut de certaines activités ou affecter des valeurs constantes à des propriétés qui nécessitent une entrée de l'utilisateur pendant la migration. Reportez-vous à Fichier de configuration.
--gsuite-migrate-onlyComma-separated list of services included in GSuite migrator (case sensitive). Available values: gmail, calendar, drive, docs, sheets, appsscript. If specified, only those services will be run.

Migration en bloc du référentiel

Cette option analyse ou migre tous les projets trouvés dans une hiérarchie de dossiers.

Commande : <tool-install-dir>\UiPath.Upgrade.exe bulk

Utilisation : UiPath.Upgrade.exe bulk [options]

OptionDescription
-?, -h, --helpAffiche l'aide et les informations d’utilisation.
-p, --path (requis)Chemin d'accès au référentiel ou au dossier. La migration est effectuée sur tous les sous-dossiers qui contiennent un fichier project.json.
-c, --command (requis)Commande à exécuter : analyze ou upgrade.
-v, --verboseActivez la journalisation Verbose.
-o, --output-pathChemin racine de sortie pour les projets mis à niveau. Ce dossier est créé s'il n'existe pas. Un nouveau dossier avec le suffixe _Upgraded est créé pour le projet mis à niveau.
--orchestrator-urlL'URL complète d'Orchestrator, y compris le nom de l'organisation.
--orchestrator-tenantLe nom du locataire d'Orchestrator. Si aucune valeur n'est indiquée, la valeur par défaut est DefaultTenant.
--orchestrator-patJeton d'accès personnel (PAT) pour l'authentification d'Orchestrator. Nécessite l'étendue OR.Execution.Read.
--orchestrator-application-idID d'application OAuth pour l'authentification d'Orchestrator (alternative à PAT).
--orchestrator-application-secretSecret d'application OAuth (alternative à PAT).
--enabled-extensionsComma-separated list of extensions to enable. See Available extensions.
--disabled-extensionsListe des extensions à désactiver, séparées par des virgules. Les extensions disponibles sont remplies dynamiquement en fonction des extensions découvertes.
--disable-all-extensionsDésactivez toutes les extensions. Mutuellement exclusifs avec --enabled-extensions et --disabled-extensions.

Exemples

Analyser un seul projet avec une sortie Verbose :

UiPath.Upgrade.exe analyze -p C:\to-migrate\LegacyProcess -v
UiPath.Upgrade.exe analyze -p C:\to-migrate\LegacyProcess -v

Migrez un projet et spécifiez une version de package UI Automation cible :

UiPath.Upgrade.exe upgrade -p C:\to-migrate\LegacyProcess -o C:\to-migrate\WindowsProcess --uia-package-version=25.10.27 -v
UiPath.Upgrade.exe upgrade -p C:\to-migrate\LegacyProcess -o C:\to-migrate\WindowsProcess --uia-package-version=25.10.27 -v

Migrez un projet à l'aide d'une configuration de connexion personnalisée :

UiPath.Upgrade.exe upgrade --project-path=C:\to-migrate\LegacyProcess --config=C:\to-migrate\connection.json
UiPath.Upgrade.exe upgrade --project-path=C:\to-migrate\LegacyProcess --config=C:\to-migrate\connection.json

Exécutez une analyse en bloc sur un dossier :

UiPath.Upgrade.exe bulk -p C:\to-migrate -c analyze
UiPath.Upgrade.exe bulk -p C:\to-migrate -c analyze

Migrate only Mail and GSuite classic activities in the project, without touching other activities, such as UI Automation classic activities:

UiPath.Upgrade.exe upgrade --project-path="C:\To Migrate\LegacyProcess" --enabled-extensions=MailActivities,GSuiteActivities
UiPath.Upgrade.exe upgrade --project-path="C:\To Migrate\LegacyProcess" --enabled-extensions=MailActivities,GSuiteActivities

Migrate only the Legacy project to Windows (same as Studio Windows - Legacy converter). The command does not migrate any of the supported activity types:

UiPath.Upgrade.exe upgrade -p "C:\To Migrate\LegacyProcess" -o "C:\To Migrate\WindowsProcess" --disable-all-extensions
UiPath.Upgrade.exe upgrade -p "C:\To Migrate\LegacyProcess" -o "C:\To Migrate\WindowsProcess" --disable-all-extensions
Remarque :
  • Les options de ligne de commande utilisent les conventions suivantes :
    • Les options courtes (par exemple, -p value) doivent utiliser un espace pour séparer l'option de sa valeur.
    • Les options longues (par exemple, --project-path=value) utilisent généralement le signe égal pour lier explicitement la valeur à l'indicateur spécifique. Dans la plupart des cas, les options longues peuvent également être spécifiées à l'aide d'un espace (par exemple, --project-path value). L'option --config est une exception et uniquement prend en charge la syntaxe du signe égal (par exemple, --config=value).
  • La sortie par défaut de la commande upgrade est un rapport SARIF stocké dans le projet d'origine sous un dossier .upgrade. Le projet migré est enregistré dans le chemin de sortie.

Supported syntax for collections

Several CLI options accept collection values: --enabled-extensions, --disabled-extensions, and --gsuite-migrate-only. Each supports multiple syntaxes for specifying values.

Formats pris en charge

For example, all of these bind the same values to the ["drive", "gmail"] collection:

  • Comma-separated: --gsuite-migrate-only=drive,gmail or --gsuite-migrate-only=drive --gsuite-migrate-only=gmail
  • Space-separated: --gsuite-migrate-only drive,gmail or --gsuite-migrate-only drive --gsuite-migrate-only gmail
  • Colon syntax (less common): --gsuite-migrate-only:drive,gmail
  • Mixed syntax: --gsuite-migrate-only=drive --gsuite-migrate-only gmail

Comportement par défaut

If the option is missing from the command:

  • --gsuite-migrate-only - migrates all Google Workspace services
  • --enabled-extensions - all extensions are enabled
  • --disabled-extensions- no extensions are disabled
Remarque :

Specifying an occurrence with no values (for example, --gsuite-migrate-only "") is rejected by the validator.

Available extensions

The following extensions can be specified for the --enabled-extensions or --disabled-extensions option:

ExtensionDescription
UiAutomationActivitiesMigrates classic UI Automation activities in the UiPath.UIAutomation.Activities package to modern UI Automation activities.
MailActivitiesMigrates dependencies from UiPath.Mail.Activities (classic Outlook-based activities) to UiPath.MicrosoftOffice365.Activities (Integration Service–based activities).
MicrosoftActivitiesExtensionTries to convert activities from the Microsoft.Activities.Extensions package, which works only on .NET Framework (Legacy).
GSuiteActivitiesMigrates classic GSuite activities in the UiPath.GSuite.Activities package to modern activities within the same package.

Exemple : --enabled-extensions MailActivities,GSuiteActivities

By default, all extensions are enabled. If the --enabled-extensions option is not specified, the analyze, upgrade, and bulk commands will process all the activities in supported packages.

Fichier de configuration

Utilisez un fichier de configuration pour définir des valeurs constantes pour les propriétés d'activité qui nécessitent une entrée manuelle pendant la migration, ou pour remplacer le comportement de migration par défaut.

Pass the file path to the migrator using the --config option with the assignment operator =, as in this example: --config=C:\to-migrate\connection.json. You must use the appropriate config option depending on the migration type:

  • For Outlook Mail activities migration: --config or --mail-config
  • For classic GSuite activities migration: --gsuite-config

Le fichier de configuration doit suivre ce format :

{
  "{reserved-configuration-key}": "{value}",
  "...": "...",
  "{path-to-workflow} > [{connector-type}] {activity-display-name}": {
    "{property-name}": "{property-value}"
  }
}
{
  "{reserved-configuration-key}": "{value}",
  "...": "...",
  "{path-to-workflow} > [{connector-type}] {activity-display-name}": {
    "{property-name}": "{property-value}"
  }
}
Special Notes
  • The only {property-name} that can be assigned is ConnectionId.
  • * acts as a wildcard and matches any value in {path-to-workflow}, {connector-type} and {activity-display-name}. Thus, multiple workflows or activities can be specified for the same collection of properties. When multiple entries match the same workflow, activity, connector tuple, only the last match is applied.
  • The [{connector-type}] part is optional. When omitted, the entry matches any activity regardless of connector type. When specified, the entry only matches activities bound to that connector. At least one of [{connector-type}] or {activity-display-name} must be present.
Reserved Configuration Keys

{reserved-configuration-key} représente les modifications de comportement spécifiques à l'activité :

  • SaveOutlookMailMessage_IgnoreSaveAsType: Si définie sur true, l'option désactive la vérification Save as type des types non pris en charge. L’activité peut ainsi être migrée indépendamment de Save as type option.
Available Connector Types

The following connector types can be used with the [{connector-type}] pattern:

Google (GSuite) connectors:

  • uipath-google-drive: Google Drive connector
  • uipath-google-docs: Google Docs connector
  • uipath-google-sheets: Google Spreadsheets connector
  • uipath-google-gmail: Gmail connector
  • uipath-google-workspace: Google Workspace connector
  • uipath-google-tasks: Google Tasks connector
  • uipath-google-forms: Google Forms connector

Microsoft connectors:

  • uipath-microsoft-outlook365: Microsoft Outlook 365 Graph connector
  • uipath-microsoft-outlook365ews: Microsoft Outlook 365 EWS (Exchange Web Services) connector
  • uipath-microsoft-onedrive: Microsoft OneDrive connector
  • uipath-microsoft-365: Microsoft Office 365 connector
  • uipath-mail-mail: Mail connector

Obtention de l'ID de connexion à partir d'Orchestrator

À partir de mars 2026, les connexions sont passées d'Integration Service à Orchestrator. Vous pouvez récupérer le ConnectionId directement à partir de l'URL de connexion dans Orchestrator :

  1. Naviguez vers votre connexion dans Orchestrator : Accédez au dossier Orchestrator où se trouve votre connexion à Microsoft Outlook 365.
  2. Open the connection: Select the connection to view its details.
  3. Vérifier l'URL : le ConnectionId est visible dans l'URL du navigateur avec le format suivant : https://cloud.uipath.com/{OrganizationName}/{TenantName}/orchestrator_/connections/{ConnectionId}/edit/tid={TId}
Résultat

L'ID de connexion est visible dans l'URL du navigateur au format .../connections/{ConnectionId}/edit/tid={TId}.

Setting Connection IDs for Mail activities

The ConnectionId property is not populated automatically during migration. You must set it manually per workflow/activity using a configuration file. The configuration file can be passed to the Activity Migrator using the --config <config> or --mail-config <config> command line argument.

The following example assigns different connection IDs to specific Productivity activities (Microsoft Office 365), using a wildcard fallback:

{
    "* > *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000001"
    },
    "*\\Projects\\MailMigration\\Main.xaml > Get *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000002"
    },
    "*\\Projects\\MailMigration\\* > Send Mail": {
        "ConnectionId": "00000000-0000-0000-0000-000000000003"
    }
}
{
    "* > *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000001"
    },
    "*\\Projects\\MailMigration\\Main.xaml > Get *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000002"
    },
    "*\\Projects\\MailMigration\\* > Send Mail": {
        "ConnectionId": "00000000-0000-0000-0000-000000000003"
    }
}

Dans cet exemple :

  • * > * correspond à toutes les activités et agit comme une solution de secours lorsqu'il n'y a pas d'entrée correspondante ci-dessous.
  • *\\Projects\\MailMigration\\Main.xaml > Get * correspond à toute activité dont le nom d'affichage commence par Get dans Main.xaml.
  • *\\Projects\\MailMigration\\* > Send Mail correspond à l'activité Send Mail dans tous les workflows du dossier MailMigration.
{
    "* > *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000001"
    },
    "* > [uipath-microsoft-outlook365] *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000002"
    },
    "*\\Projects\\MailMigration\\Main.xaml > [uipath-microsoft-outlook365] Get *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000003"
    }
}
{
    "* > *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000001"
    },
    "* > [uipath-microsoft-outlook365] *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000002"
    },
    "*\\Projects\\MailMigration\\Main.xaml > [uipath-microsoft-outlook365] Get *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000003"
    }
}

Dans cet exemple :

  • * > * correspond à toutes les activités et agit comme une solution de secours lorsqu'il n'y a pas d'entrée correspondante ci-dessous.
  • * > [uipath-microsoft-outlook365] * overrides for all Outlook activities.
  • *\\Projects\\MailMigration\\Main.xaml > [uipath-microsoft-outlook365] Get * further narrows to Get * activities in a specific workflow.

Setting Connection IDs for GSuite activities

The modern Connection-Service activities require a ConnectionId that the migrator generally cannot infer. Two cases:

  1. Inside an OAuth GSuiteApplicationScope — the activity inherits the scope's connection at run time, so ConnectionId is left empty (UseConnectionService is set to false on the activity).
  2. Outside a scope, OR after a connection-service scope was unwrapped to a Sequence during migration — the activity needs an explicit ConnectionId. The migrator cannot generate one because Studio runtime, not the migrator, owns the IS connection lifecycle.

To unblock this case the migrator accepts a JSON config file (--gsuite-config <path>) that declaratively maps activity instances to ConnectionId values. The same mechanism is used by Mail (--mail-config, alias --config).

{
  "{path-to-workflow} > [{connector-type}] {activity-display-name}": {
    "ConnectionId": "00000000-0000-0000-0000-000000000001"
  }
}
{
  "{path-to-workflow} > [{connector-type}] {activity-display-name}": {
    "ConnectionId": "00000000-0000-0000-0000-000000000001"
  }
}

In the schema above, each rule is a glob over three coordinates:

  • {path-to-workflow} — the workflow file path (Windows-style separators normalised). * is a wildcard.
  • [{connector-type}]optional. The IS connector key bound to the modern activity (e.g. uipath-google-drive, uipath-google-gmail). If omitted, the rule matches any connector.
  • {activity-display-name} — the display name of the migrated activity. * is a wildcard.

When multiple rules match the same workflow + activity + connector tuple, the last match wins per property, and properties set by an earlier match are preserved when not overwritten — making it easy to layer a global default with per-activity overrides:

{
  "* > *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000001"
  },
  "* > [uipath-google-drive] *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000002"
  },
  "*\\Projects\\Demo\\Main.xaml > [uipath-google-drive] Get *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000003"
  },
  "* > [uipath-google-sheets] *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000004"
  },
  "* > [uipath-google-docs] *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000005"
  },
  "* > [uipath-google-gmail] *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000006"
  }
}
{
  "* > *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000001"
  },
  "* > [uipath-google-drive] *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000002"
  },
  "*\\Projects\\Demo\\Main.xaml > [uipath-google-drive] Get *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000003"
  },
  "* > [uipath-google-sheets] *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000004"
  },
  "* > [uipath-google-docs] *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000005"
  },
  "* > [uipath-google-gmail] *": {
    "ConnectionId": "00000000-0000-0000-0000-000000000006"
  }
}

The example above also configures different connection IDs for different Google Workspace services (Drive, Sheets, Docs, Gmail).

ConnectionId is the only property the config can populate. When a ConnectionId is required but no rule matches, the migrator emits an action required pointing the user back at the config file.

Comportement de l'étendue de l'application UI Automation après la migration

La plupart des activités UI Automation modernes nécessitent une étendue d'application (activité Utiliser l'application/le navigateur). Pendant la migration, deux types d'étendues sont créés :

Étendues créées organiquement

Ces étendues sont générées automatiquement lors de la migration d'activités classiques telles que Ouvrir le navigateur et Attacher le navigateur. Ces étendues ne sont pas optimisées pour éviter de modifier l'intention et le flux d'origine du workflow migré.

Étendues générées synthétiquement

Ces étendues sont générées pour s'assurer que le workflow se compile et s'exécute correctement après la migration. Lorsque deux étendues consécutives ont des propriétés identiques (par exemple, le même sélecteur ou le même moteur OCR), elles sont fusionnées en une seule étendue tout en préservant l'ordre d'origine de l'activité.

Limitations

Activités UIAutomation

  • La version cible minimale prise en charge de UiPath.UIAutomation.Activities est 25.10.21.
  • Certaines propriétés d'activité ont des limitations de migration. Voir les listes d'activités prises en charge :
  • Les workflows migrés à l'aide d'activités UI Automation modernes peuvent s'exécuter plus lentement que les workflows d'origine à l'aide d'activités UI Automation classiques.

Activités de productivité

Limitations de l'outil

  • Par défaut, l'outil Migrateur d'activités utilise les flux NuGet configurés dans NuGet.config : Officiel, Local et Marketplace. Pour inclure les flux de bibliothèque Orchestrator, utilisez les options pour les commandes analyze, upgrade, et bulk : --orchestrator-url, --orchestrator-tenant, --orchestrator-pat, --orchestrator-application-id, et --orchestrator-application-secret.
  • Les activités qui utilisent des types ou des assemblages générés dynamiquement (par exemple, certaines activités Excel peuvent avoir des noms de colonne en tant que propriétés dans un type généré dynamiquement) peuvent provoquer une erreur Type introuvable dans les fichiers .xaml après la migration.

Règle de l'analyseur de workflow de Studio

  • The ST-AMG-001 Workflow Analyzer rule is available starting with Studio 2024.10.25 LTS, Studio 2025.10.8 LTS and Studio 2026.0.189 STS.

Meilleures pratiques de migration

Avant de migrer

  1. Sauvegarder vos projets : créez toujours une sauvegarde complète avant d'exécuter des commandes de migration.
  2. Mettre à jour les packages de Studio et d'activités : utilisez la dernière version d'UiPath Studio et assurez-vous que les versions de package cibles répondent aux exigences minimales (UiPath.UIAutomation.Activities >= 25.10.21 et UiPath.MicrosoftOffice365.Activities >= 3.6.10).
  3. Analyser avant la mise à niveau : exécutez d'abord la commande analyze. Utilisez UiPath.Upgrade.exe analyze -p -v pour générer un rapport SARIF et identifier les problèmes potentiels sans modifier le projet.
  4. Vérifier les dépendances et les flux NuGet : confirmez que les flux Officiel, Local et Marketplace sont correctement configurés dans NuGet.config.
  5. Migrer d'abord les bibliothèques lorsqu'un projet dépend de projets de bibliothèque : ce n'est qu'à ce moment là qu'il faut migrer les projets qui les utilisent.

Pendant la migration

  1. Commencer par un seul projet : testez la migration sur un projet utilisant UiPath.Upgrade.exe upgrade -p -v avant d'exécuter une opération en masse.
  2. Utiliser la migration en bloc pour plusieurs projets : une fois validés, exécutez UiPath.Upgrade.exe bulk -p -v. Assurez-vous que la structure du dossier est propre et cohérente.
  3. Fournir un fichier de configuration pour les ID de connexion : pour les activités Microsoft 365 ou GSuite, créez un fichier de configuration avec les valeurs ConnectionId requises et transmettez-le avec --config :
{
    "* > *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000001"
    }
}
{
    "* > *": {
        "ConnectionId": "00000000-0000-0000-0000-000000000001"
    }
}

Après la migration

  1. Examiner le rapport SARIF : vérifiez le dossier .upgrade dans le répertoire du projet et résolvez tous les problèmes signalés.
  2. Ouvrir le projet migré dans Studio et exécuter Analyser le projet : examinez les résultats de la règle Analyseur de workflow ST-AMG-001 (disponible dans Studio 2025.10.8 assistance longue durée Studio 2026.0.189 STS ou version ultérieure) pour identifier les activités qui nécessitent des actions post-migration.
  3. Valider les étendues d'application : confirmez que les étendues fusionnées se comportent comme prévu. Testez les workflows avec les activités Utiliser l'application/le navigateur.
  4. Exécuter des tests de bout en bout : exécutez des workflows migrés dans un environnement contrôlé avant de les déployer en production.

Performances et maintenance

  1. Optimiser les sélecteurs UI Automation : après la migration, examinez les sélecteurs pour la précision et la stabilité.
  2. Surveiller le temps d'exécution : les activités modernes peuvent s'exécuter plus lentement au départ. Optimisez si nécessaire.
  3. Documenter vos modifications : conservez un enregistrement des projets migrés, des versions cibles et des configurations appliquées à des fins d'audit et de restauration.

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour