Unterstützung von Ausdrücken in Flow
Der Ausdruck kann verwendet werden, um auf die Eigenschaften innerhalb der Laufzeit der Flow-Instanz zuzugreifen.
Übersicht
Nachdem der Flow über den Ausführungs URL ausgelöst wurde, werden in der Flow-Instanz eine Reihe von Standard- oder integrierten Eigenschaften vorbelegt. Zudem werden einige Eigenschaften mit den Aufgaben gefüllt, die innerhalb des Ablaufs verwendet werden.
Das Dokument stellt eine Reihe verschiedener Funktionen und bedingter Operatoren vor, die in Ausdrücken verwendet werden.
Der Benutzer muss eine bestimmte Syntax einhalten, um einen Ausdruck in Aufgaben und Entscheidungspunkten für einen bestimmten Ablauf zu deklarieren. @Der Ausdruck muss mit @context beginnen und mit enden. Beispiel: @context.__tenantid@.
Auf die Eigenschaften einer Flow-Instanz zugreifen
Jede Eigenschaft einer Flow-Instanz hat ihren eigenen Typ. Der Zugriff auf den Wert der Eigenschaft wird daher vom Typ der Eigenschaft beeinflusst. Die unterstützten Datentypen sind „String“, „Number“, „Boolean“, „JSON“ und „Array“. Lesen Sie die weiteren Informationen, um zu erfahren, wie die einzelnen Immobilientypen genutzt werden können.
- Auf eine Zeichenkette, einen booleschen Wert oder eine Zahl kann mit
@context.propertyName@. zugegriffen werden. Beispiel:- Status -
@context.status@ - __tenantid -
@context.__tenantid@ - __locale -
@context.__locale@
- Status -
.Auf eine verschachtelte JSON-Eigenschaft kann entweder mithilfe der Trennzeichen „“ oder mit[]eckigen Klammern zugegriffen werden. Beispiel:- userName aus der Benutzereigenschaft -
@context.user.id@ - messageId aus der Fehler-Eigenschaft -
@context.error.messageId@ - ID aus der Benutzereigenschaft -
@context.user['id']@
Hinweis:- Die
[]Klammern dürfen nur für den Zugriff auf untergeordnete Eigenschaften verwendet werden. .Die verschachtelten Eigenschaften, die die Trennzeichen '' enthalten, müssen in[]Klammern gesetzt werden.
- userName aus der Benutzereigenschaft -
- Auf eine Array-Eigenschaft kann zugegriffen werden, indem der gewünschte Index in
[]eckigen Klammern angegeben wird. Beispiel:- E-Mail-Adresse aus der Benutzereigenschaft –
@context.user.emails[0].value@oder@context.user['emails'][0].value@ - Name eines benutzerdefinierten Attributs aus einer Benutzereigenschaft –
@context.user['urn:ietf:params:scim:schemas:extension:ibm:2.0:User'].customAttributes[0].name@
- E-Mail-Adresse aus der Benutzereigenschaft –
Verwendung von Ausdrücken in Eingabeparametern
Der Ausdruck kann verwendet werden, um auf Instanz-Eigenschaften in Eingabeparametern für Aufgaben zuzugreifen. Die Eingabeparameter unterstützen neben Operatoren auch Ausdrücke. In Eingabeparametern können binäre und ternäre Operatoren zusammen mit Ausdrücken verwendet werden. Siehe die folgenden Beispiele
- Zugriff auf Eigenschaften –
@context.themeId@ - Verwendung des binären Operators -
@context.user.userName@ == "Jessica Hill" - Verwendung des ternären Operators -
@context.user['urn:ietf:params:scim:schemas:extension:ibm:2.0:User'].userCategory@ == "regular" ? @context.basicLdapUrl@ : @context.federatedUrl@
Condition-Builder
Der Entscheidungszweig für den Bedingungspunkt basiert auf dem Bedingungsgenerator. Der Bedingungsgenerator ist im ausgehenden Sequenzablauf vom Bedingungspunkt aus verfügbar. Der Bedingungsgenerator beginnt mit einer „if“-Bedingung und kann null oder mehr „or“-Bedingungen enthalten. Jede Bedingungsgruppe kann mehrere Bedingungen enthalten. Jede Bedingung ist in drei Abschnitte unterteilt: Attribut, Operator und Wert.
@Hinweis: Benutzerdefinierte Instanzeneigenschaften müssen mit @context beginnen und mit enden. @context.responseCode@responseCodeUm beispielsweise auf eine benutzerdefinierte Eigenschaft namens zuzugreifen, kann der Benutzer - eingeben.Der Abschnitt „Wert“ unterstützt Zeichenfolgen, Zahlen, Boolesche Werte und Flussausdrücke als Eingabe.
| Bediener | Unterstützte Datentypen | Beschreibung | Beispiel |
|---|---|---|---|
equal to |
Zeichenkette, Zahl und Boolescher Wert | Das Attribut und der Wert im Vergleich sind gleichwertig. | @context.status@ bedeutet gescheitert. |
not equal to |
Zeichenkette, Zahl und Boolescher Wert | Das Attribut und der Wert im Vergleich sind nicht gleichwertig. | @context.themeId@ nicht gleich dem Standardwert. |
less than |
Zahl | Das Attribut im Vergleich hat einen geringeren Wert als der Wert. | @context.numericProperty@ (Angenommen, es gibt im Kontext eine Variable namens „ numericProperty “,) die kleiner als 20 ist. |
less than or equal to |
Zahl | Das Attribut im Vergleich ist kleiner oder gleich dem Wert. | @context.numericProperty@ 20 oder weniger. |
greater than |
Zahl | Das Attribut im Vergleich hat einen höheren Wert als der Wert. | @context.numericProperty@ größer als 20. |
greater than or equal to |
Zahl | Das Attribut im Vergleich ist größer oder gleich dem Wert. | @context.numericProperty@ größer oder gleich 20. |
is true |
Boolesch | Die Eigenschaft des Attributs wird als „true“ ausgewertet. | @context.booleanProperty@ (angenommen, es gibt im Kontext eine Variable namens „ booleanProperty “) ist wahr. |
is false |
Boolesch | Die Eigenschaft des Attributs wird als „false“ ausgewertet. | @context.booleanProperty@ ist falsch. |
has property |
_ | Das Attribut enthält eine Eigenschaft, die im Wert genannt wird. | @context.user.name@ verfügt über die Web givenName |
is not null |
Zeichenkette, Zahl und Boolescher Wert | Das Attribut ist nicht null. | @context.user.name.givenName@ ist nicht null. |
is not empty |
Zeichenfolge | Das Attribut ist nicht leer. | @context.user.name.givenName@ ist nicht leer. |
is trueFür die Operatoren,is false,is not null, undis not emptyist der Abschnitt „Wert“ nicht erforderlich.- Um komplexe Bedingungen zu berechnen, muss der Benutzer die Funktion „Function“ verwenden. Beispielsweise, um einen Benutzer anhand bestimmter Attribute aus einer Benutzerliste herauszufiltern. Auf den gefilterten Benutzer kann dann mithilfe des Ausdrucks zugegriffen werden.
- Ein Datentyp kann in einen String konvertiert werden, indem man ihn in Anführungszeichen setzt. Beispielsweise kann die Zahl 10 in die Zeichenfolge „10“ umgewandelt werden, oder der Boolesche Wert „true“ kann in die Zeichenfolge „true“ umgewandelt werden.