Soporte de expresiones en flujo

La expresión puede utilizarse para acceder a las propiedades dentro del tiempo de ejecución de la instancia de flujo.

Visión general

Una vez que el flujo se activa mediante la URL ejecución, se rellena un conjunto de propiedades predeterminadas o integradas en la instancia del flujo. Además, algunas propiedades se rellenan mediante las tareas que se utilizan en el flujo.

El documento muestra un conjunto de distintas funciones u operadores condicionales que se utilizan en las expresiones.

El usuario necesita seguir una sintaxis determinada para declarar una expresión en tareas y puntos de decisión para un flujo determinado. La expresión debe empezar por @context y terminar por @. Por ejemplo, @context.__tenantid@.

Nota: Se puede hacer referencia a la descripción de las propiedades utilizadas en un ejemplo en este documento desde aquí.

Acceso a las propiedades de instancia de flujo

Cada propiedad de instancia de flujo tiene su propio tipo. Por lo tanto, el acceso al valor de propiedad está influenciado por el tipo de la propiedad. Los tipos de propiedad soportados son 'String', 'Number', 'Boolean', 'JSON' y 'Array'. Consulte los detalles adicionales proporcionados para comprender cómo se puede utilizar cada uno de estos tipos de propiedad diferentes.

  • Se puede acceder a una serie o booleano o número como @context.propertyName@. Por ejemplo:
    • estado- @context.status@
    • __tenantid- @context.__tenantid@
    • __entorno_local- @context.__locale@
  • Se puede acceder a una propiedad JSON anidada utilizando los delimitadores '.' o con corchetes [] . Por ejemplo:
    • userName de la propiedad de usuario- @context.user.id@
    • messageId de la propiedad de error- @context.error.messageId@
    • id de la propiedad de usuario- @context.user['id']@
    Nota:
    • Los corchetes [] deben utilizarse sólo para acceder a las propiedades hijo.
    • Las propiedades anidadas que contienen delimitadores '.' deben incluirse entre corchetes [] .
  • Se puede acceder a una propiedad de matriz utilizando el índice necesario entre corchetes [] . Por ejemplo:
    • correo electrónico de la propiedad de usuario- @context.user.emails[0].value@ o @context.user['emails'][0].value@
    • nombre de atributo personalizado de la propiedad de usuario- @context.user['urn:ietf:params:scim:schemas:extension:ibm:2.0:User'].customAttributes[0].name@

Utilización de expresiones en los parámetros de entrada

La expresión puede utilizarse para acceder a propiedades de instancia en parámetros de entrada para tareas. Los parámetros de entrada también admiten expresiones junto con operadores. Se pueden utilizar operadores binarios y ternarios junto con expresiones en parámetros de entrada. Consulte los ejemplos siguientes

  • Propiedad de acceso- @context.themeId@
  • Utilización del operador binario- @context.user.userName@ == "Jessica Hill"
  • Utilización del operador ternario- @context.user['urn:ietf:params:scim:schemas:extension:ibm:2.0:User'].userCategory@ == "regular" ? @context.basicLdapUrl@ : @context.federatedUrl@
Nota: El parámetro de entrada de señal no admite expresiones. Cualquier contenido proporcionado se trata como una serie.

Creador de condiciones

La ruta de decisión del punto de condición se basa en el generador de condiciones. El constructor de condiciones está disponible en el flujo de secuencia saliente desde el punto de condición. El generador de condiciones comienza con un conjunto de condiciones «if» y puede tener cero o más conjuntos de condiciones «or». Cada conjunto de condiciones puede tener varias condiciones. Cada condición se divide en tres secciones: Atributo, Operadory Valor.

Para la sección Atributo , el usuario puede seleccionar una propiedad en el desplegable de propiedades predefinidas y también puede especificar la propiedad de instancia de flujo personalizada.
Nota: La propiedad de instancia de flujo personalizado debe empezar por @context y finalizar por @. Por ejemplo, para acceder a una propiedad personalizada denominada responseCode, el usuario puede introducir - @context.responseCode@.

La sección Valor admite cadenas, números, booleanos y expresiones de flujo como entrada.

Nota: Se puede hacer referencia a la lista de propiedades de instancia de flujo predeterminadas junto con su tipo de datos desde aquí.
El generador de condiciones proporciona una lista de operadores predefinidos para crear una condición. La tabla muestra la lista de operadores soportados por el generador de condiciones.
Operador tipos de datos soportados Descripción Ejemplo
equal to Serie, número y booleano El atributo y el valor de la comparación son de igual valor. @context.status@ igual a ha fallado.
not equal to Serie, número y booleano El atributo y el valor de la comparación no son del mismo valor. @context.themeId@ no es igual a predeterminado.
less than Número El atributo de la comparación tiene un valor menor que el valor. @context.numericProperty@ (supongamos que hay una variable denominada numericProperty en el contexto) menor que 20.
less than or equal to Número El atributo de la comparación es menor o igual que el valor. @context.numericProperty@ menor o igual que 20.
greater than Número El atributo de la comparación tiene un valor mayor que el valor. @context.numericProperty@ mayor que 20.
greater than or equal to Número El atributo de la comparación es mayor o igual que el valor. @context.numericProperty@ mayor o igual que 20.
is true Boolean La propiedad de atributo se evalúa como true. @context.booleanProperty@ (supongamos que hay una variable denominada booleanProperty en el contexto) es true.
is false Boolean La propiedad de atributo se evalúa como false. @context.booleanProperty@ es false.
has property _ El atributo contiene una propiedad que se menciona en el valor. @context.user.name@ tiene la propiedad givenName
is not null Serie, número y booleano El atributo no es nulo. @context.user.name.givenName@ no es nulo.
is not empty Serie El atributo no está vacío. @context.user.name.givenName@ no está vacío.
Nota:
  • Los operadores is true, is false, is not nully is not empty no requieren la sección Valor .
  • Para calcular condiciones complejas, el usuario debe utilizar la tarea Función . Por ejemplo, para filtrar un usuario de una lista de usuarios basándose en algunos atributos. A continuación, se puede acceder al usuario filtrado utilizando la expresión.
  • Un tipo de datos se puede convertir a String colocándolo dentro de "". Por ejemplo, el número 10 se puede convertir en serie como "10", o el valor booleano true se puede convertir en serie como "true".