Ausdrucksunterstützung im Fluss
Der Ausdruck kann für den Zugriff auf die Eigenschaften innerhalb der Laufzeit der Flow-Instanz verwendet werden.
Übersicht
Nachdem der Flow durch Verwendung URL ausgelöst wurde, wird eine Reihe von Standard- oder integrierten Eigenschaften in der Flow-Instanz ausgefüllt. Darüber hinaus werden einige Eigenschaften von den Tasks ausgefüllt, die innerhalb des Ablaufs verwendet werden.
Das Dokument veranschaulicht eine Gruppe unterschiedlicher Funktionen oder Bedingungsoperatoren, die in Ausdrücken verwendet werden.
Der Benutzer muss eine bestimmte Syntax befolgen, um einen Ausdruck in Tasks und Entscheidungspunkten für einen bestimmten Ablauf zu deklarieren. Der Ausdruck muss mit @context
beginnen und mit @
enden. Beispiel: @context.__tenantid@
.
Auf Flow-Instanzeigenschaften zugreifen
Jede Flussinstanzeigenschaft hat einen eigenen Typ. Daher wird der Zugriff auf den Eigenschaftswert durch den Typ der Eigenschaft beeinflusst. Die unterstützten Eigenschaftstypen sind 'String', 'Number', 'Boolean', 'JSON' und 'Array '. Lesen Sie die weiteren Details, um zu verstehen, wie die verschiedenen Eigenschaftstypen verwendet werden können.
- Auf eine Zeichenfolge oder einen booleschen Wert oder eine Zahl kann als
@context.propertyName@
zugegriffen werden. Beispiel:- Status-
@context.status@
- __tenantid-
@context.__tenantid@
- __locale-
@context.__locale@
- Status-
- Auf eine verschachtelte JSON-Eigenschaft kann entweder mithilfe der Begrenzer '
.
' oder mit[]
eckigen Klammern zugegriffen werden. Beispiel:- userName aus Benutzereigenschaft-
@context.user.id@
- messageId aus Fehlereigenschaft-
@context.error.messageId@
- ID aus Benutzereigenschaft-
@context.user['id']@
Hinweis:- Die eckigen Klammern
[]
dürfen nur für den Zugriff auf untergeordnete Eigenschaften verwendet werden. - Die verschachtelten Eigenschaften, die Begrenzer '
.
' enthalten, müssen in eckige Klammern[]
eingeschlossen werden.
- userName aus Benutzereigenschaft-
- Auf eine Array-Eigenschaft kann über den erforderlichen Index in
[]
eckigen Klammern zugegriffen werden. Beispiel:- E-Mail von Benutzereigenschaft-
@context.user.emails[0].value@
oder@context.user['emails'][0].value@
- Name des angepassten Attributs aus Benutzereigenschaft-
@context.user['urn:ietf:params:scim:schemas:extension:ibm:2.0:User'].customAttributes[0].name@
- E-Mail von Benutzereigenschaft-
Verwendung von Ausdrücken in Eingabeparametern
Der Ausdruck kann verwendet werden, um auf Instanzeigenschaften in Eingabeparametern für Aufgaben zuzugreifen. Die Eingabeparameter unterstützen auch Ausdrücke und Operatoren. Binäre und ternäre Operatoren können zusammen mit Ausdrücken in Eingabeparametern verwendet werden. Siehe die folgenden Beispiele
- Zugriff auf Eigenschaft-
@context.themeId@
- Binäroperator verwenden-
@context.user.userName@ == "Jessica Hill"
- Ternären Operator verwenden-
@context.user['urn:ietf:params:scim:schemas:extension:ibm:2.0:User'].userCategory@ == "regular" ? @context.basicLdapUrl@ : @context.federatedUrl@
Erstellungsprogramm für exklusive Gateway-Bedingungen
Der exklusive Gateway-Entscheidungspfad wird in der Bedingungserstellung erstellt. Die Bedingungserstellung ist im abgehenden Sequenzfluss vom exklusiven Gateway verfügbar. Die Bedingungserstellung beginnt mit dem Bedingungssatz 'if' und kann null oder mehr Bedingungssätze 'or' enthalten. Jeder Bedingungssatz kann mehrere Bedingungen haben. Jede Bedingung ist in drei Abschnitte unterteilt: Attribut, Operatorund Wert.
@context
beginnen und mit @
enden. Um zum Beispiel auf eine benutzerdefinierte Eigenschaft namens responseCode
zuzugreifen, kann der Benutzer - @context.responseCode@
eingeben.Der Abschnitt Wert unterstützt Zeichenketten, Zahlen, Boolesche und Fließausdrücke als Eingabe.
Bediener | Unterstützte Datentypen | Beschreibung | Beispiel |
---|---|---|---|
equal to |
Zeichenfolge, Zahl und boolescher Wert | Das Attribut und der Wert im Vergleich sind gleich. | @context.status@ gleich fehlgeschlagen. |
not equal to |
Zeichenfolge, Zahl und boolescher Wert | Das Attribut und der Wert im Vergleich sind nicht gleich. | @context.themeId@ ungleich Standardwert. |
less than |
Zahl | Das Attribut im Vergleich hat einen kleineren Wert als der Wert. | @context.numericProperty@ (angenommen, es gibt eine Variable mit dem Namen numericProperty im Kontext) kleiner als 20. |
less than or equal to |
Zahl | Das Attribut im Vergleich ist kleiner-gleich dem Wert. | @context.numericProperty@ kleiner-gleich 20. |
greater than |
Zahl | Das Attribut im Vergleich hat einen größeren Wert als der Wert. | @context.numericProperty@ größer als 20. |
greater than or equal to |
Zahl | Das Attribut im Vergleich ist größer-gleich dem Wert. | @context.numericProperty@ größer-gleich 20. |
is true |
Boolesch | Die Attributeigenschaft wird mit 'true' ausgewertet. | @context.booleanProperty@ (angenommen, es gibt eine Variable namens booleanProperty im Kontext) ist wahr. |
is false |
Boolesch | Die Attributeigenschaft wird mit ' false' ausgewertet. | @context.booleanProperty@ ist falsch. |
has property |
_ | Das Attribut enthält eine Eigenschaft, die im Wert angegeben ist. | @context.user.name@ hat Eigenschaft givenName |
is not null |
Zeichenfolge, 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. |
- Für die Operatoren
is true
,is false
,is not null
undis not empty
ist der Abschnitt Wert nicht erforderlich. - Zur Berechnung komplexer Bedingungen muss der Benutzer die Task Funktion verwenden. Beispiel: Filtern eines Benutzers aus einer Liste von Benutzern auf der Basis einiger Attribute. Der gefilterte Benutzer kann dann über den Ausdruck aufgerufen werden.
- Ein Datentyp kann in eine Zeichenfolge konvertiert werden, indem er in "" platziert wird. Beispielsweise kann die Zahl 10 als "10" in eine Zeichenfolge oder der boolesche Wert "true" als "true" in eine Zeichenfolge konvertiert werden.