- Notes de publication
- Vue d'ensemble (Overview)
- Démarrage
- Fournisseurs Marketplace
- Clients Marketplace
- Directives de publication
- Directives de publication pour les automatisations prêtes à l'emploi
- Publication de directives pour les accélérateurs de solution
- Directives de publication pour les connecteurs Integration Service
- Sécurité et protection IP
- Autres listes UiPath
- Node-RED
- Configuration
- Équipe
- Étendue de Microsoft Teams
- Créer une équipe
- Créer une équipe à partir du groupe
- Obtenir l'équipe
- Obtenir des équipes
- Canaux
- Créer le canal
- Supprimer le canal
- Obtenir le canal
- Obtenir des canaux
- Mettre à jour le canal
- Chats
- Récupérer le chat
- Récupérer des chats
- Obtenir des membres de chat
- Messages
- Obtenir des messages
- Get Messages
- Obtenir les réponses aux messages
- Répondre au message
- Envoyer message
- Events
- Créer un événement
- Supprimer l'événement
- Obtenir l'événement
- Obtenir les événements
- Utilisateurs
- Obtenir la présence de l'utilisateur
- Mode de fonctionnement
- Références techniques
- Démarrer
- À propos
- Configuration
- Références techniques
- Étendue de reconnaissance de formulaire Azure
- Activités (Activities)
- Analyser le formulaire
- Analyser le formulaire asynchrone
- Obtenir le résultat du formulaire d'analyse
- Analyser le reçu
- Analyser le reçu asynchrone
- Obtenir le résultat de l'analyse du reçu
- Analyser la mise en page
- Analyser la mise en page asynchrone
- Obtenir le résultat de l'analyse de la mise en page
- Entraîner le modèle
- Obtenir des modèles
- Obtenir les clés de modèle
- Obtenir les informations du modèle
- Supprimer le modèle
- Connecteurs
- Comment créer des activités
- Créer votre intégration
Création de packages d'activités
Étant donné que la plate-forme d'UiPath repose sur l'infrastructure .NET, toutes les activités prennent la forme d'un package Nuget (il s'agit de l'extension .nupkg que vous obtenez lors du téléchargement d'une activité directement depuis Go! vers Marketplace ou depuis les flux dans le gestionnaire de packages d'UiPath Studio). Il existe 4 types de fichiers requis pour regrouper vos fichiers dans un seul package NuGet :
Fichiers AssemblyInfo
Chaque fois que vous générez un projet dans Visual Studio, le moteur de construction Microsoft (ou MSBuild) transforme le code de ce projet en DLL, une bibliothèque qui peut être utilisée par d’autres applications Windows. Les métadonnées de cette bibliothèque proviennent de trois fichiers AssemblyInfo stockés dans la section Propriétés (Properties) de votre projet et qui fournissent des informations pour différents niveaux d'un ensemble d'activités. Jetons un coup d’œil à chacune d’entre elles :
[assembly: AssemblyTitle("MyCompany.MyProduct.Activities")]
[assembly: AssemblyDescription("This activity was made using the UiPath Activity Set extension.")]
[assembly: ComVisible(false)]
[assembly: Guid("133E5191-68DA-4F05-9A81-D5CFA16525C8")]
[assembly: AssemblyTitle("MyCompany.MyProduct.Activities")]
[assembly: AssemblyDescription("This activity was made using the UiPath Activity Set extension.")]
[assembly: ComVisible(false)]
[assembly: Guid("133E5191-68DA-4F05-9A81-D5CFA16525C8")]
AssemblyInfo.cs contient les métadonnées uniques à ce projet particulier (par ex. MyCompany.MyProduct).
- AssemblyTitle donne un nom convivial à votre DLL. Par souci de simplicité, cela doit correspondre au nom du projet.
-
AssemblyDescription est un bref résumé de la nature et de l'objectif de l'assembly.
Plusieurs autres attributs, tels que la culture ou le numéro de version, peuvent être inclus. Pour une liste complète, consultez la documentation officielle de Microsoft.
- ComVisible et Guid sont des attributs par défaut utilisés par les applications référençant la bibliothèque éventuelle de ce projet. Ils restent inchangés pour la plupart des activités, mais vous pouvez en savoir plus sur leurs effets ici.
#if DEBUG
[assembly: AssemblyVersion("1.0.*")]
#else
[assembly: AssemblyVersion("1.0.0")]
#endif
#if DEBUG
[assembly: AssemblyVersion("1.0.*")]
#else
[assembly: AssemblyVersion("1.0.0")]
#endif
Le fichier Assembly suivant, <your activity name>AssemblyInfo.cs, contient les métadonnées qui sont uniques à l'ensemble d'activités dans son ensemble mais qui sont partagées entre tous les projets ; dans ce cas, seule la version de l'activité. Notez que la version diffère pour chaque configuration Visual Studio :
- Débogage: si Visual Studio est en mode débogage, l'activité est générée avec un numéro de version 1.0.*, cela signifie que les versions majeure et mineure sont définies (1.0) et que la version du correctif est incrémentée à chaque build. Ceci est utile lorsque vous apportez des modifications fréquentes au même code, car chaque package ultérieur sera construit avec une nouvelle version, ce qui le rend facilement distinguable.
-
Version: si Visual Studio est en mode de publication, le numéro de version est défini (par ex. 1.0.0). Cela offre un contrôle total lorsque vient le temps de publier officiellement un package.
[assembly: AssemblyCompany("MyCompany")]
[assembly: AssemblyProduct("Product A")]
[assembly: AssemblyCopyright("MyCompany © 2019")]
[assembly: AssemblyTrademark("MyCompany™")]
[assembly: AssemblyCulture("en-CA")]
[assembly: NeutralResourcesLanguage("en-US")]
[assembly: AssemblyCompany("MyCompany")]
[assembly: AssemblyProduct("Product A")]
[assembly: AssemblyCopyright("MyCompany © 2019")]
[assembly: AssemblyTrademark("MyCompany™")]
[assembly: AssemblyCulture("en-CA")]
[assembly: NeutralResourcesLanguage("en-US")]
GlobalAssemblyInfo.cs contient les métadonnées partagées entre tous les ensembles d'activités que vous produisez. Les packages UiPath.GSuite.Activities et UiPath.MicrosoftOffice365.Activities , par exemple, ont été créés par la même entreprise (UiPath), ciblent le même produit (UiPath Studio) et ont les mêmes informations de droit d' auteur, de marque déposée et de langue, ils ont donc utilisé le même fichier GlobalAssemblyInfo.cs pour éviter les doublons inutiles.
Nuspec
Une fois que tous vos projets sont compilés dans des DLL, ces bibliothèques sont regroupées dans un package Nuget qui peut être utilisé dans UiPath Studio. Les métadonnées de ce package proviennent du fichier nuspec de votre projet de conception.
Vous pouvez voir la liste complète des éléments de métadonnées disponibles via nuspec ici, mais examinez d'abord l'exemple de base ci-dessous. Ces éléments correspondent aux champs affichés dans le gestionnaire de paquets d'UiPath Studio et permettent aux utilisateurs de trouver et de distinguer votre ensemble d'activités.
$element$
. Ceux-ci prennent leurs valeurs des balises correspondantes dans les fichiers AssemblyInfo pour éviter la duplication des informations.
<?xml version="1.0"?>
<package>
<metadata>
<id>$title$</id>
<version>$version$</version>
<title>$title$</title>
<authors>$author$</authors>
<owners>$author$</owners>
<description>$description$</description>
<copyright>$copyright$</copyright>
<requireLicenseAcceptance>true</requireLicenseAcceptance>
<licenseUrl>https://www.apache.org/licenses/LICENSE-2.0</licenseUrl>
<projectUrl>https://integrations.uipath.com/docs/integrating-with-uipath</projectUrl>
<iconUrl>https://raw.githubusercontent.com/NuGet/Samples/master/PackageIconNuspecExample/icon.png</iconUrl>
<tags>UiPath Activit</tags>
<dependencies>
</dependencies>
</metadata>
<files>
<file src="$OutputPath$**\)\)MyCompany.MyProduct*resources.dll" target="lib\)
et461"/>
</files>
</package>
<?xml version="1.0"?>
<package>
<metadata>
<id>$title$</id>
<version>$version$</version>
<title>$title$</title>
<authors>$author$</authors>
<owners>$author$</owners>
<description>$description$</description>
<copyright>$copyright$</copyright>
<requireLicenseAcceptance>true</requireLicenseAcceptance>
<licenseUrl>https://www.apache.org/licenses/LICENSE-2.0</licenseUrl>
<projectUrl>https://integrations.uipath.com/docs/integrating-with-uipath</projectUrl>
<iconUrl>https://raw.githubusercontent.com/NuGet/Samples/master/PackageIconNuspecExample/icon.png</iconUrl>
<tags>UiPath Activit</tags>
<dependencies>
</dependencies>
</metadata>
<files>
<file src="$OutputPath$**\)\)MyCompany.MyProduct*resources.dll" target="lib\)
et461"/>
</files>
</package>
Métadonnées du concepteur
Une fois vos activités créées et vos concepteurs (éléments d'IU) construits, ils doivent être liés entre eux et enregistrés dans le magasin de métadonnées afin d'être affichés dans le panneau Activités de UiPath Studio. Le code ci-dessous crée deux activités (Parent Scope et Child Activity) en enregistrant les informations suivantes au nom de chacune :
- Catégorie(Category) : section du volet Activités (Activities) dans laquelle ces activités apparaîtront. Par défaut, il est défini sur MyCompany > MyProduct et peut être changé en modifiant l'attribut Category dans Resources.resx. Découvrez comment la ligne 12 relie un cours de votre projet d'activité à la catégorie spécifiée à la ligne 10.
- Concepteur: l'interface utilisateur de cette activité. Découvrez comment la ligne 13 relie une classe de votre projet d'activité à une classe de votre projet de conception.
-
Documentation: documents en ligne de l'activité. Sélectionnez n'importe quelle activité dans l'un de vos workflows UiPath, appuyez sur F1, et la documentation d'aide pour cette activité s'ouvrira dans le navigateur par défaut. L'URL de cette documentation est spécifiée ici, comme à la ligne 14 (go.uipath.com est utilisé comme espace réservé).
namespace MyCompany.MyProduct.Activities.Design { public class DesignerMetadata : IRegisterMetadata { public void Register() { var builder = new AttributeTableBuilder(); builder.ValidateTable(); var categoryAttribute = new CategoryAttribute($"{Resources.Category}"); builder.AddCustomAttributes(typeof(ParentScope), categoryAttribute); builder.AddCustomAttributes(typeof(ParentScope), new DesignerAttribute(typeof(ParentScopeDesigner))); builder.AddCustomAttributes(typeof(ParentScope), new HelpKeywordAttribute("https://go.uipath.com")); builder.AddCustomAttributes(typeof(ChildActivity), categoryAttribute); builder.AddCustomAttributes(typeof(ChildActivity), new DesignerAttribute(typeof(ChildActivityDesigner))); builder.AddCustomAttributes(typeof(ChildActivity), new HelpKeywordAttribute("https://go.uipath.com")); MetadataStore.AddAttributeTable(builder.CreateTable()); } } }
namespace MyCompany.MyProduct.Activities.Design { public class DesignerMetadata : IRegisterMetadata { public void Register() { var builder = new AttributeTableBuilder(); builder.ValidateTable(); var categoryAttribute = new CategoryAttribute($"{Resources.Category}"); builder.AddCustomAttributes(typeof(ParentScope), categoryAttribute); builder.AddCustomAttributes(typeof(ParentScope), new DesignerAttribute(typeof(ParentScopeDesigner))); builder.AddCustomAttributes(typeof(ParentScope), new HelpKeywordAttribute("https://go.uipath.com")); builder.AddCustomAttributes(typeof(ChildActivity), categoryAttribute); builder.AddCustomAttributes(typeof(ChildActivity), new DesignerAttribute(typeof(ChildActivityDesigner))); builder.AddCustomAttributes(typeof(ChildActivity), new HelpKeywordAttribute("https://go.uipath.com")); MetadataStore.AddAttributeTable(builder.CreateTable()); } } }
Construire l'ensemble d'activités
Une fois les fichiers susmentionnés terminés, la création de l'ensemble d'activités est facile. Dans l'explorateur de solutions, cliquez simplement avec le bouton droit sur votre solution et sélectionnez Reconstruire la solution (Rebuild Solution).
Le panneau de sortie indiquera alors que les trois projets ont été générés avec succès et fournira le chemin d’accès à votre fichier nupkg groupé.
Scripts post-construction
Accédez aux Propriétés (Properties) > Événements de construction (Build Events) de votre projet de conception et vous trouverez un script de post-génération, qui s'exécute immédiatement après la création de tous vos projets.
La première ligne de ce script supprime toutes les anciennes versions obsolètes du package qui existent dans le répertoire de sortie afin d'éviter l'encombrement.
La deuxième ligne utilise l'outil de ligne de commande NuGet (nuget.exe) pour combiner les DLL de vos 3 projets en un package NuGet lisible par UiPath Studio.
if exist $(TargetDir)Packages\)\)MyCompany.MyProduct*.* del $(TargetDir)Packages\)\)MyCompany.MyProduct*.*
if $(ConfigurationName) == Debug "$(SolutionDir).nuget\)\)NuGet.exe" pack "$(ProjectPath)" -OutputDirectory "Packages" -IncludeReferencedProjects -Prop Configuration=$(ConfigurationName)
if exist $(TargetDir)Packages\)\)MyCompany.MyProduct*.* del $(TargetDir)Packages\)\)MyCompany.MyProduct*.*
if $(ConfigurationName) == Debug "$(SolutionDir).nuget\)\)NuGet.exe" pack "$(ProjectPath)" -OutputDirectory "Packages" -IncludeReferencedProjects -Prop Configuration=$(ConfigurationName)