Skip to Content

User Tasks

Der UserTaskClient ermöglicht das Abfragen, Reservieren und Abschließen von User Tasks aus BPMN-Prozessen.

Client erstellen

using ProcessCube.Engine; IUserTaskClient client = ClientFactory.CreateUserTaskClient(engineUrl, identityAccessor);

User Tasks abfragen

QueryAsync

IReadOnlyList<UserTask> tasks = await client.QueryAsync(options => { options.FilterByProcessInstanceId("instance-id"); options.FilterByState(UserTaskState.Running); }, ct);

Verfügbare Filter

FilterBeschreibung
FilterByProcessInstanceIdNach Prozessinstanz filtern
FilterByStateNach Status filtern (Running, Finished)

User Task abschließen

FinishUserTaskAsync

UserTaskResult result = new(new Dictionary<string, object> { ["approved"] = true, ["comment"] = "Freigegeben" }); await client.FinishUserTaskAsync(tasks.First(), result, ct);

Subscription

Auf neue User Tasks warten

ISubscription subscription = client.SubscribeForPendingUserTask( userTasks => Console.WriteLine($"{userTasks.Count()} Tasks warten"), new SubscriptionSettings { SubscribeOnce = false }, ct);

Mit SubscribeOnce = false wird der Callback bei jedem neuen User Task aufgerufen. Mit SubscribeOnce = true nur beim ersten.

Nächste Schritte