Diese Dokumentation wurde automatisch von KI übersetzt.
Die in der serverseitigen Paketstruktur verfügbaren APIs sind im folgenden Code dargestellt:
PluginWorkflowServerDie Workflow-Plugin-Klasse.
Normalerweise können Sie zur Laufzeit der Anwendung app.pm.get<PluginWorkflowServer>(PluginWorkflowServer) aufrufen, wo immer Sie die Anwendungsinstanz app erhalten können, um die Workflow-Plugin-Instanz (im Folgenden als plugin bezeichnet) zu erhalten.
registerTrigger()Erweitert und registriert einen neuen Trigger-Typ.
Signatur
registerTrigger(type: string, trigger: typeof Trigger | Trigger })
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
type | string | Bezeichner des Trigger-Typs |
trigger | typeof Trigger | Trigger | Trigger-Typ oder -Instanz |
Beispiel
registerInstruction()Erweitert und registriert einen neuen Knoten-Typ.
Signatur
registerInstruction(type: string, instruction: typeof Instruction | Instruction })
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
type | string | Bezeichner des Instruktions-Typs |
instruction | typeof Instruction | Instruction | Instruktions-Typ oder -Instanz |
Beispiel
trigger()Löst einen spezifischen Workflow aus. Dies wird hauptsächlich in benutzerdefinierten Triggern verwendet, um den entsprechenden Workflow auszulösen, wenn ein spezifisches benutzerdefiniertes Ereignis abgehört wird.
Signatur
trigger(workflow: Workflow, context: any)
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
workflow | WorkflowModel | Das auszulösende Workflow-Objekt |
context | object | Kontextdaten, die zum Zeitpunkt des Triggers bereitgestellt werden |
Der context ist derzeit ein Pflichtfeld. Wenn er nicht bereitgestellt wird, wird der Workflow nicht ausgelöst.
Beispiel
resume()Setzt einen wartenden Workflow mit einem spezifischen Knoten-Job fort.
EXECUTION_STATUS.STARTED) können fortgesetzt werden.JOB_STATUS.PENDING können fortgesetzt werden.Signatur
resume(job: JobModel)
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
job | JobModel | Das aktualisierte Job-Objekt |
Das übergebene Job-Objekt ist in der Regel ein aktualisiertes Objekt, dessen status normalerweise auf einen anderen Wert als JOB_STATUS.PENDING aktualisiert wird, da es sonst weiterhin wartet.
Beispiel
Details finden Sie im Quellcode.
TriggerDie Basisklasse für Trigger, die zur Erweiterung benutzerdefinierter Trigger-Typen verwendet wird.
| Parameter | Typ | Beschreibung |
|---|---|---|
constructor | (public readonly workflow: PluginWorkflowServer): Trigger | Konstruktor |
on? | (workflow: WorkflowModel): void | Event-Handler nach dem Aktivieren eines Workflows |
off? | (workflow: WorkflowModel): void | Event-Handler nach dem Deaktivieren eines Workflows |
on/off werden verwendet, um Event-Listener zu registrieren/deregistrieren, wenn ein Workflow aktiviert/deaktiviert wird. Der übergebene Parameter ist die Workflow-Instanz, die dem Trigger entspricht und gemäß der Konfiguration verarbeitet werden kann. Einige Trigger-Typen, die bereits global abgehörte Events haben, müssen diese beiden Methoden möglicherweise nicht implementieren. Zum Beispiel können Sie in einem geplanten Trigger einen Timer in on registrieren und ihn in off deregistrieren.
InstructionDie Basisklasse für Instruktions-Typen, die zur Erweiterung benutzerdefinierter Instruktions-Typen verwendet wird.
| Parameter | Typ | Beschreibung |
|---|---|---|
constructor | (public readonly workflow: PluginWorkflowServer): Instruction | Konstruktor |
run | Runner | Ausführungslogik für den ersten Eintritt in den Knoten |
resume? | Runner | Ausführungslogik für den Eintritt in den Knoten nach der Fortsetzung aus einer Unterbrechung |
getScope? | (node: FlowNodeModel, data: any, processor: Processor): any | Stellt den lokalen Variableninhalt für den vom entsprechenden Knoten generierten Zweig bereit |
Zugehörige Typen
Für getScope können Sie die Implementierung des Schleifenknotens heranziehen, die verwendet wird, um lokale Variableninhalte für Zweige bereitzustellen.
EXECUTION_STATUSEine Konstanten-Tabelle für die Status von Workflow-Ausführungsplänen, die zur Identifizierung des aktuellen Status des entsprechenden Ausführungsplans verwendet wird.
| Konstantenname | Bedeutung |
|---|---|
EXECUTION_STATUS.QUEUEING | In Warteschlange |
EXECUTION_STATUS.STARTED | Gestartet |
EXECUTION_STATUS.RESOLVED | Erfolgreich abgeschlossen |
EXECUTION_STATUS.FAILED | Fehlgeschlagen |
EXECUTION_STATUS.ERROR | Fehler |
EXECUTION_STATUS.ABORTED | Abgebrochen |
EXECUTION_STATUS.CANCELED | Storniert |
EXECUTION_STATUS.REJECTED | Abgelehnt |
EXECUTION_STATUS.RETRY_NEEDED | Nicht erfolgreich ausgeführt, Wiederholung erforderlich |
Außer den ersten drei repräsentieren alle anderen einen fehlgeschlagenen Status, können aber verwendet werden, um verschiedene Fehlerursachen zu beschreiben.
JOB_STATUSEine Konstanten-Tabelle für die Status von Workflow-Knoten-Jobs, die zur Identifizierung des aktuellen Status des entsprechenden Knoten-Jobs verwendet wird. Der vom Knoten generierte Status beeinflusst auch den Status des gesamten Ausführungsplans.
| Konstantenname | Bedeutung |
|---|---|
JOB_STATUS.PENDING | Wartend: Die Ausführung hat diesen Knoten erreicht, aber die Instruktion erfordert eine Unterbrechung und Wartezeit. |
JOB_STATUS.RESOLVED | Erfolgreich abgeschlossen |
JOB_STATUS.FAILED | Fehlgeschlagen: Die Ausführung dieses Knotens erfüllte die konfigurierten Bedingungen nicht. |
JOB_STATUS.ERROR | Fehler: Während der Ausführung dieses Knotens ist ein unbehandelter Fehler aufgetreten. |
JOB_STATUS.ABORTED | Abgebrochen: Die Ausführung dieses Knotens wurde nach dem Wartestatus durch eine andere Logik beendet. |
JOB_STATUS.CANCELED | Storniert: Die Ausführung dieses Knotens wurde nach dem Wartestatus manuell storniert. |
JOB_STATUS.REJECTED | Abgelehnt: Die Fortsetzung dieses Knotens wurde nach dem Wartestatus manuell abgelehnt. |
JOB_STATUS.RETRY_NEEDED | Nicht erfolgreich ausgeführt, Wiederholung erforderlich |
Die in der clientseitigen Paketstruktur verfügbaren APIs sind im folgenden Code dargestellt:
PluginWorkflowClientregisterTrigger()Registriert das Konfigurationspanel für den Trigger-Typ.
Signatur
registerTrigger(type: string, trigger: typeof Trigger | Trigger): void
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
type | string | Bezeichner des Trigger-Typs, konsistent mit dem für die Registrierung verwendeten Bezeichner |
trigger | typeof Trigger | Trigger | Trigger-Typ oder -Instanz |
registerInstruction()Registriert das Konfigurationspanel für den Knoten-Typ.
Signatur
registerInstruction(type: string, instruction: typeof Instruction | Instruction): void
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
type | string | Bezeichner des Knoten-Typs, konsistent mit dem für die Registrierung verwendeten Bezeichner |
instruction | typeof Instruction | Instruction | Knoten-Typ oder -Instanz |
registerInstructionGroup()Registriert eine Knoten-Typ-Gruppe. NocoBase bietet standardmäßig 4 Knoten-Typ-Gruppen:
'control': Steuerung'collection': Sammlungs-Operationen'manual': Manuelle Verarbeitung'extended': Weitere ErweiterungenWenn Sie weitere Gruppen erweitern möchten, können Sie diese Methode zur Registrierung verwenden.
Signatur
registerInstructionGroup(type: string, group: { label: string }): void
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
type | string | Bezeichner der Knoten-Gruppe, konsistent mit dem für die Registrierung verwendeten Bezeichner |
group | { label: string } | Gruppeninformationen, derzeit nur der Titel |
Beispiel
TriggerDie Basisklasse für Trigger, die zur Erweiterung benutzerdefinierter Trigger-Typen verwendet wird.
| Parameter | Typ | Beschreibung |
|---|---|---|
title | string | Name des Trigger-Typs |
fieldset | { [key: string]: ISchema } | Sammlung von Trigger-Konfigurationselementen |
scope? | { [key: string]: any } | Sammlung von Objekten, die im Konfigurationselement-Schema verwendet werden können |
components? | { [key: string]: React.FC } | Sammlung von Komponenten, die im Konfigurationselement-Schema verwendet werden können |
useVariables? | (config: any, options: UseVariableOptions ) => VariableOptions | Wertzugriff für Trigger-Kontextdaten |
useVariables nicht gesetzt ist, bedeutet dies, dass dieser Trigger-Typ keine Funktion zur Wertabfrage bereitstellt und die Kontextdaten des Triggers in den Workflow-Knoten nicht ausgewählt werden können.InstructionDie Basisklasse für Instruktionen, die zur Erweiterung benutzerdefinierter Knoten-Typen verwendet wird.
| Parameter | Typ | Beschreibung |
|---|