Prise en charge des expressions dans le flux
Cette expression permet d'accéder aux propriétés au cours de l'exécution de l'instance de flux.
Présentation
Une fois le flux déclenché à l'aide de l' URL d'exécution, un ensemble de propriétés par défaut ou intégrées est renseigné dans l'instance du flux. De plus, certaines propriétés sont renseignées par les tâches utilisées dans le flux.
Ce document présente un ensemble de fonctions et d'opérateurs conditionnels utilisés dans les expressions.
L'utilisateur doit respecter une syntaxe spécifique pour déclarer une expression dans les tâches et les points de décision d'un flux donné. L'expression doit commencer par @context et se terminer par @. Par exemple, @context.__tenantid@.
Accéder aux propriétés d'une instance de flux
Chaque propriété d'une instance de flux possède son propre type. Par conséquent, l'accès à la valeur d'une propriété dépend du type de cette propriété. Les types de propriétés pris en charge sont « String », « Number », « Boolean », « JSON » et « Array ». Consultez les informations fournies ci-dessous pour comprendre comment chacun de ces différents types de biens immobiliers peut être utilisé.
- On peut accéder à une chaîne, à une valeur booléenne ou à un nombre en utilisant le signe
@context.propertyName@«. » Par exemple :- statut -
@context.status@ - __tenantid -
@context.__tenantid@ - __locale -
@context.__locale@
- statut -
.On peut accéder à une propriété JSON imbriquée soit en utilisant les délimiteurs « », soit en utilisant[]des crochets. Par exemple :- userName à partir de la propriété utilisateur -
@context.user.id@ - messageId à partir de la propriété « error » -
@context.error.messageId@ - ID de la propriété utilisateur -
@context.user['id']@
Remarque :- Les
[]crochets doivent être utilisés uniquement pour accéder aux propriétés enfants. .Les propriétés imbriquées contenant des délimiteurs « » doivent être placées entre[]crochets.
- userName à partir de la propriété utilisateur -
- On peut accéder à une propriété d'un tableau en utilisant l'index correspondant entre
[]crochets. Par exemple :- propriété « e-mail de l'utilisateur » -
@context.user.emails[0].value@ou@context.user['emails'][0].value@ - nom d'attribut personnalisé à partir d'une propriété utilisateur -
@context.user['urn:ietf:params:scim:schemas:extension:ibm:2.0:User'].customAttributes[0].name@
- propriété « e-mail de l'utilisateur » -
Utilisation d'expressions dans les paramètres d'entrée
Cette expression permet d'accéder aux propriétés d'instance dans les paramètres d'entrée des tâches. Les paramètres d'entrée prennent également en charge les expressions et les opérateurs. Les opérateurs binaires et ternaires peuvent être utilisés avec des expressions dans les paramètres d'entrée. Consultez les exemples suivants
- Accès à la propriété -
@context.themeId@ - Utilisation de l'opérateur binaire -
@context.user.userName@ == "Jessica Hill" - Utilisation de l'opérateur ternaire -
@context.user['urn:ietf:params:scim:schemas:extension:ibm:2.0:User'].userCategory@ == "regular" ? @context.basicLdapUrl@ : @context.federatedUrl@
Générateur de conditions
Le chemin de décision basé sur des conditions est créé à l'aide du générateur de conditions. Le générateur de conditions est disponible sur le flux sortant du point de condition. Le générateur de conditions commence par un ensemble de conditions « if » et peut comporter zéro ou plusieurs ensembles de conditions « or ». Chaque ensemble de conditions peut comporter plusieurs conditions. Chaque condition est divisée en trois sections : Attribut, Opérateur et Valeur.
@context et se terminer par @. Par exemple, pour accéder à une propriété personnalisée nommée responseCode, l'utilisateur peut saisir - @context.responseCode@.Cette Valeur section prend en charge les chaînes de caractères, les nombres, les valeurs booléennes et les expressions de flux en entrée.
| Opérateur | Types de données pris en charge | Descriptif | Exemple |
|---|---|---|---|
equal to |
Chaîne, nombre et booléen | L'attribut et la valeur utilisés dans la comparaison ont la même valeur. | @context.status@ équivaut à un échec. |
not equal to |
Chaîne, nombre et booléen | L'attribut et la valeur utilisés dans la comparaison ne sont pas de même nature. | @context.themeId@ différent de la valeur par défaut. |
less than |
Nombre | La valeur de l'attribut utilisé dans la comparaison est inférieure à la valeur. | @context.numericProperty@ (en supposant qu'il existe une variable nommée « numericProperty » dans le contexte) inférieure à 20. |
less than or equal to |
Nombre | Dans la comparaison, l'attribut est inférieur ou égal à la valeur. | @context.numericProperty@ inférieur ou égal à 20. |
greater than |
Nombre | La valeur de l'attribut utilisé dans la comparaison est supérieure à cette valeur. | @context.numericProperty@ supérieur à 20. |
greater than or equal to |
Nombre | Dans la comparaison, l'attribut est supérieur ou égal à la valeur. | @context.numericProperty@ supérieur ou égal à 20. |
is true |
Booléen | La propriété de l'attribut est évaluée à « vrai ». | @context.booleanProperty@ (en supposant qu'il existe une variable nommée « booleanProperty » dans le contexte) est vraie. |
is false |
Booléen | La propriété de l'attribut est évaluée à « faux ». | @context.booleanProperty@ est faux. |
has property |
_ | L'attribut contient une propriété mentionnée dans la valeur. | @context.user.name@ dispose d'un site web givenName |
is not null |
Chaîne, nombre et booléen | L'attribut n'est pas nul. | @context.user.name.givenName@ n'est pas nul. |
is not empty |
Chaîne | L'attribut n'est pas vide. | @context.user.name.givenName@ n'est pas vide. |
is trueLes opérateurs,is false,is not null, etis not emptyne nécessitent pas de section « Valeur ».- Pour calculer des conditions complexes, l'utilisateur doit utiliser la tâche « Fonction ». Par exemple, pour filtrer un utilisateur dans une liste d'utilisateurs en fonction de certains critères. Il est alors possible d'accéder à l'utilisateur filtré à l'aide de l'expression.
- Un type de données peut être converti en chaîne de caractères en le plaçant entre guillemets « ». Par exemple, le nombre 10 peut être converti en chaîne de caractères sous la forme « 10 », ou la valeur booléenne true peut être convertie en chaîne de caractères sous la forme « true ».