- Überblick
- Benutzerdefinierte Aktivitäten
- Migrieren von Aktivitäten zu. NET 6
- Versionshinweise
- Erstellen von Workflow-Analyseregeln
- Projekteinstellungen für das Erstellen von Aktivitäten
- Erstellen benutzerdefinierter Assistenten
- Priorisieren von Aktivitäten nach Scope
- UiPath.Activities.Api.Base
- UiPath.Studio.Activities.Api
- UiPath.Studio.Activities.Api.Activities
- UiPath.Studio.Activities.Api.BusyService
- UiPath.Studio.Activities.Api.ExpressionEditor
- UiPath.Studio.Activities.Api.Expressions
- UiPath.Studio.Activities.Api.Licensing
- UiPath.Studio.Activities.Api.Mocking
- UiPath.Studio.Activities.Api.ObjectLibrary
- UiPath.Studio.Activities.Api.PackageBindings
- UiPath.Studio.Activities.Api.ProjectProperties
- UiPath.Studio.Activities.Api.ScopedActivities
- UiPath.Studio.Activities.Api.Settings
- UiPath.Studio.Activities.Api.Wizards
- UiPath.Studio.Activities.Api.Workflow
- UiPath.Studio.Api.Controls
- UiPath.Studio.Api.Telemetry
- UiPath.Studio.Api.Theme
- Robot JavaScript SDK
- Trigger SDK
- So erstellen Sie einen benutzerdefinierten Trigger
- Agent-SDKs

Entwickleranleitung
So erstellen Sie einen benutzerdefinierten Trigger
Automatisierungsprojekte profitieren von Triggern, die die Maschinenaktivität auf bestimmte Ereignisse überwachen, um bestimmte Actions. Trigger können über das Framework Events konfiguriert werden, aber Sie können auch benutzerdefinierte Trigger erstellen, wie in diesem Handbuch erläutert.
Voraussetzungen
Zum Erstellen eines benutzerdefinierten Triggers ist Folgendes erforderlich:
- Microsoft Visual Studio
- Microsoft .NET Framework v4.6.1 oder höher
Erstellen und Konfigurieren des Projekts
-
Öffnen Sie Microsoft Visual Studio, und wählen Sie Ein neues Projekt erstellen aus. Das Fenster Projektauswahl wird angezeigt.
-
Wählen Sie Klassenbibliothek (.NET Framework) aus und klicken Sie auf Weiter. Das Fenster Konfigurieren Ihres neuen Projekts wird angezeigt.
-
Geben Sie einen Projektnamen, einen Standort, einen Lösungsnamen und ein Framework an. Stellen Sie sicher, dass Sie das Framework .NET Framework 4.6.1 oder höher auswählen. Wenn alle Felder ausgefüllt sind, klicken Sie auf Erstellen. Das neue Projekt wird erstellt und das Designerfenster wird angezeigt.

-
Wählen Sie im Menü Extras die Option Optionen. Nun wird das Fenster Optionen angezeigt.
-
Erweitern Sie den Eintrag „NuGet-Paketmanager“ und wählen Sie Paketquellen aus.
-
Fügen Sie eine neue Paketquelle hinzu und füllen Sie das Feld Name mit dem offiziellen UiPath-Feed und das Feld Quelle mit
https://pkgs.dev.azure.com/uipath/Public.Feeds/_packaging/UiPath-Official/nuget/v3/index.jsonaus. Klicken Sie auf OK , um die Änderungen zu bestätigen und zu speichern.
-
Klicken Sie auf das Menü Tools und wählen Sie im Eintrag NuGet-Paketmanager die Option NuGet-Pakete für Lösung verwalten... aus. Die Registerkarte NuGet – Lösungen wird angezeigt.
-
Suchen Sie nach der Referenz UiPath.Platform und wählen Sie diese. Wählen Sie im Panel auf der rechten Seite das Projekt aus, für das der Verweis hinzugefügt werden soll, und klicken Sie dann auf Installieren. Stellen Sie sicher, dass Sie das Kontrollkästchen Vorabversion einschließen aktivieren und die UiPath.Platform- Version v20.8 oder höher installieren.
Schreiben des Triggercodes
Once the references are added to the project, it's time to write the code, which should look something like this:
using System;
using System.Activities;
using System.Threading;
using UiPath.Platform.Triggers;
public class TimerTrigger : TriggerBase<TimerTriggerArgs>
{
//it is recommended to use Variable to store fields in order for
//activities like Parallel For Each to work correctly
private readonly Variable<Timer> _timer = new Variable<Timer>();
public InArgument<TimeSpan> Period { get; set; }
protected override void CacheMetadata(NativeActivityMetadata metadata)
{
metadata.AddImplementationVariable(_timer);
base.CacheMetadata(metadata);
}
//in this method you can subscribe to events. It is called when the trigger starts execution
protected override void StartMonitor(NativeActivityContext context, Action<TimerTriggerArgs> sendTrigger)
{
var eventIndex = 0;
var period = Period.Get(context);
_timer.Set(context, new Timer(OnTick, state: null, dueTime: period, period: period));
return;
void OnTick(object state) => sendTrigger(new TimerTriggerArgs(eventIndex++));
}
//this is used for cleanup. It is called when the trigger is Cancelled or Aborted
protected override void StopMonitor(ActivityContext context) => _timer.Get(context).Dispose();
}
//Each trigger may declare a type that sub-classes TriggerArgs
//that corresponds to the “args” item in Trigger Scope activity. If no extra info
//needs to be passed along, TriggerArgs can be used directly
public class TimerTriggerArgs : TriggerArgs
{
public int EventIndex { get; }
public TimerTriggerArgs(int eventIndex) => EventIndex = eventIndex;
}
using System;
using System.Activities;
using System.Threading;
using UiPath.Platform.Triggers;
public class TimerTrigger : TriggerBase<TimerTriggerArgs>
{
//it is recommended to use Variable to store fields in order for
//activities like Parallel For Each to work correctly
private readonly Variable<Timer> _timer = new Variable<Timer>();
public InArgument<TimeSpan> Period { get; set; }
protected override void CacheMetadata(NativeActivityMetadata metadata)
{
metadata.AddImplementationVariable(_timer);
base.CacheMetadata(metadata);
}
//in this method you can subscribe to events. It is called when the trigger starts execution
protected override void StartMonitor(NativeActivityContext context, Action<TimerTriggerArgs> sendTrigger)
{
var eventIndex = 0;
var period = Period.Get(context);
_timer.Set(context, new Timer(OnTick, state: null, dueTime: period, period: period));
return;
void OnTick(object state) => sendTrigger(new TimerTriggerArgs(eventIndex++));
}
//this is used for cleanup. It is called when the trigger is Cancelled or Aborted
protected override void StopMonitor(ActivityContext context) => _timer.Get(context).Dispose();
}
//Each trigger may declare a type that sub-classes TriggerArgs
//that corresponds to the “args” item in Trigger Scope activity. If no extra info
//needs to be passed along, TriggerArgs can be used directly
public class TimerTriggerArgs : TriggerArgs
{
public int EventIndex { get; }
public TimerTriggerArgs(int eventIndex) => EventIndex = eventIndex;
}
Als Nächstes implementieren wir die Methoden StartMonitor und StopMonitor . Dadurch wird das Verhalten des Triggers zur Überwachung bestimmter Ereignisse bestimmt.
Bitte beachten Sie, dass Sie eine <Custom>TriggerArgs -Klasse im Designer hinzufügen und konfigurieren müssen, wenn Sie Argumente zur Erweiterung der Trigger-Verwendung im Event-Handler bereitstellen möchten.
Der letzte Schritt besteht darin, die Bibliothek zu erstellen und das NuGet-Paket zu erstellen , das in Studio verwendet werden soll. Der neue Trigger kann jetzt innerhalb einer Trigger Scope- Aktivität verwendet werden.