- Versionshinweise
- Überblick
- Erste Schritte
- UiPath-Marktplatzanbieter
- Marketplace-Kunden
- Veröffentlichungsrichtlinien
- Veröffentlichungsrichtlinien für sofort einsatzbereite Automatisierungen
- Veröffentlichungsrichtlinien für Lösungsbeschleuniger
- Veröffentlichungsrichtlinien für Integration Service-Connectors
- Sicherheit und IP-Schutz
- Andere UiPath-Auflistungen
- Node-RED
- Einrichten
- Teams
- Microsoft Teams-Scope
- Team erstellen
- Team aus Gruppe erstellen
- Team abrufen
- Teams abrufen
- Kanäle
- Create Channel
- Kanal löschen
- Kanal abrufen
- Kanäle abrufen
- Updatekanal
- Chats
- Chat abrufen
- Chats abrufen
- Chat-Mitglieder abrufen
- Messages
- Get message
- Get Messages
- Nachrichtenantworten erhalten
- Auf Nachricht antworten
- Send Message
- Events
- Termin erstellen
- Ereignis löschen
- Ereignis abrufen
- Ereignisse abrufen
- Benutzer
- Get User Presence
- Wie es funktioniert
- Technische Referenzen
- Erste Schritte
- Über
- Einrichten
- Technische Referenzen
- Azure Form Recognizer Scope
- Aktivitäten
- Formular analysieren
- Analysieren Formular asynchron
- Formularergebnis analysieren . abrufen
- Beleg analysieren
- Beleg asynchron analysieren
- Ergebnis der „Beleganalyse“ abrufen
- Layout analysieren
- Analyze Layout async
- Ergebnis „Layout analysieren“ abrufen
- Modell trainieren
- Modelle abrufen
- Modellschlüssel abrufen
- Modellinformationen abrufen
- Modell löschen
- Konnektoren
- So werden Aktivitäten erstellt
- Ihre Integration entwickeln
Erstellen von Aktivitätspaketen
Da die Plattform von UiPath auf dem .NET-Framework basiert, haben alle Aktivitäten die Form eines Nuget-Pakets (dies ist die .nupkg- die Sie erhalten, wenn Sie eine Aktivität direkt von Go! herunterladen zu UiPath Marketplace oder aus den Feeds im Paketmanager von UiPath Studio). Es sind 4 Dateitypen erforderlich, um Ihre Dateien in einem einzigen NuGet-Paket zu bündeln:
AssemblyInfo-Dateien
Wenn Sie ein Projekt in Visual Studio erstellen, wandelt die Microsoft Build Engine (alias MSBuild) den Code dieses Projekts in eine DLL um, eine Bibliothek, die von anderen Windows-Anwendungen verwendet werden kann. Die Metadaten für diese Bibliothek stammen aus drei AssemblyInfo -Dateien, die im Abschnitt Eigenschaften Ihres Projekts gespeichert sind und Informationen für verschiedene Ebenen eines Aktivitätssatzes enthalten. Sehen wir uns die einzelnen Optionen an:
[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 enthält die Metadaten, die nur für dieses Projekt vorhanden sind (z. B. MeinUnternehmen.MeinProdukt).
- AssemblyTitle gibt Ihrer DLL einen gebräuchlichen Namen. Der Einfachheit halber sollte dieser mit dem Namen des Projekts übereinstimmen.
-
AssemblyDescription ist eine kurze Zusammenfassung über die Art und den Zweck der Assembly.
Es gibt mehrere andere Attribute, z. B. Kultur oder Versionsnummer, die enthalten sein können. Eine vollständige Liste finden Sie in der offiziellen Dokumentation von Microsoft.
- ComVisible und Guid sind Standardattribute, die von Anwendungen verwendet werden, die auf die endgültige Bibliothek dieses Projekts verweisen. Sie bleiben für die meisten Aktivitäten unverändert, aber Sie können hier mehr über ihre Auswirkungen lesen.
#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
Die nächste Assembly-Datei, <your activity name>AssemblyInfo.cs, enthält die Metadaten, die für den Aktivitätssatz als Ganzes eindeutig sind, aber von allen Projekten gemeinsam genutzt werden; In diesem Fall nur die Aktivitätsversion. Beachten Sie, dass sich die Version für jede Visual Studio-Konfiguration unterscheidet:
- Debuggen: Wenn sich Visual Studio im Debugmodus befindet, wird die Aktivität mit der Versionsnummer 1.0.*, Dies bedeutet, dass die Haupt- und Nebenversionen festgelegt sind (1.0) und die Patch-Version bei jedem Build erhöht wird. Dies ist nützlich, wenn häufig Änderungen an demselben Code vorgenommen werden, da jedes nachfolgende Paket mit einer neuen Version erstellt wird, damit es leicht erkennbar ist.
-
Release: Wenn sich Visual Studio im Release-Modus befindet, wird die Versionsnummer festgelegt (z. B. 1.0.0). Dies bietet die vollständige Kontrolle darüber, wann es an der Zeit ist, ein Paket offiziell zu veröffentlichen.
[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 enthält die Metadaten, die von allen von Ihnen erstellten Aktivitätssätzen genutzt werden. Die Pakete UiPath.GSuite.Activities und UiPath.MicrosoftOffice365.Activities zum Beispiel wurden vom gleichen Unternehmen (UiPath) erstellt, zielen auf das gleiche Produkt (UiPath Studio) ab und haben die gleichen Informationen zu Urheberrecht, Warenzeichen und Sprache, also haben sie verwendet dieselbe Datei GlobalAssemblyInfo.cs verwenden, um unnötige Duplizierungen zu vermeiden.
Nuspec
Sobald alle Ihre Projekte in DLLs kompiliert wurden, werden diese Bibliotheken in einem NuGet-Paket gebündelt, das in UiPath Studio verwendet werden kann. Die Metadaten für dieses Paket stammen aus der nuspec -Datei in Ihrem Designprojekt.
Die vollständige Liste der über den nuspec verfügbaren Metadatenelemente finden Sie hier. Sehen Sie sich jedoch zuerst das grundlegende Beispiel unten an. Diese Elemente entsprechen Feldern, die im Paketmanager von UiPath Studio angezeigt werden, und ermöglichen es Benutzern, Ihren Aktivitätssatz zu finden und zu unterscheiden.
$element$
enthalten. Diese entnehmen ihre Werte aus den entsprechenden Tags in den AssemblyInfo-Dateien, um zu verhindern, dass Informationen dupliziert werden.
<?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>
Designer-Metadaten
Nachdem Ihre Aktivitäten erstellt und Ihre Designer (UI-Elemente) erstellt wurden, müssen sie miteinander verknüpft und im Metadatenspeicher registriert werden, damit sie im Aktivitätenbereich von UiPath Studio angezeigt werden. Der folgende Code erstellt zwei Aktivitäten (übergeordneter Scope und untergeordnete Aktivität), indem die folgenden Informationen im Namen beider Aktivitäten registriert werden:
- Kategorie: Der Abschnitt des Aktivitätenbereichs, in dem diese Aktivitäten angezeigt werden. Standardmäßig ist diese auf MyCompany > MyProduct festgelegt und kann durch Ändern des Category-Attributs in Resources.resx geändert werden. Sehen Sie sich an, wie Zeile 12 eine Klasse aus Ihrem Aktivitätsprojekt mit der in Zeile 10 angegebenen Kategorie verknüpft.
- Designer: Die Benutzeroberfläche für diese Aktivität. Sehen Sie sich an, wie Zeile 13 eine Klasse aus Ihrem Aktivitätsprojekt mit einer Klasse aus Ihrem Designprojekt verknüpft.
-
Dokumentation: Onlinedokumente für die Aktivität. Wählen Sie eine beliebige Aktivität in einem Ihrer UiPath-Workflows aus und drücken Sie F1, und die Hilfedokumentation für diese Aktivität wird im Standardbrowser geöffnet. Die URL für diese Dokumentation wird hier wie in Zeile 14 angegeben (go.uipath.com wird als Platzhalter verwendet).
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()); } } }
Erstellen des Aktivitätssatzes
Sobald die oben genannten Dateien vollständig sind, ist das Erstellen des Aktivitätssatzes einfach. Klicken Sie im Projektmappen-Explorer einfach mit der rechten Maustaste auf Ihre Lösung, und wählen Sie Projektmappe neu erstellen aus.
Der Ausgabebereich zeigt dann an, dass alle drei Projekte erfolgreich erstellt wurden, und gibt den Pfad zu Ihrer gebündelten nupkg-Datei an.
Skripte nach der Erstellung
Navigieren Sie zu Eigenschaften > Buildereignisse Ihres Designprojekts, und Sie finden ein Post-Build-Skript, das sofort ausgeführt wird, nachdem alle Ihre Projekte erstellt wurden.
Die erste Zeile dieses Skripts löscht alle älteren, veralteten Versionen des Pakets, die im Ausgabeverzeichnis vorhanden sind, um Ordnung zu schaffen.
In der zweiten Zeile wird das NuGet-Befehlszeilentool (nuget.exe) verwendet, um die DLLs Ihrer drei Projekte in einem NuGet-Paket zu kombinieren, das von UiPath Studio gelesen werden kann.
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)