フローにおける式サポート

この式を使用すると、フローインスタンスの実行中にプロパティにアクセスできます。

概要

「実行」 URL を使用してフローがトリガーされると、一連のデフォルトプロパティまたは組み込みプロパティがフローインスタンスに設定されます。 さらに、一部のプロパティには、フロー内で使用されるタスクの値が自動的に設定されます。

この文書では、式で使用されるさまざまな関数や条件演算子について解説しています。

ユーザーは、特定のフローのタスクや決定ポイントで式を宣言する際、特定の構文に従う必要があります。 @式は で @context 始まり、 で終わらなければなりません。 例えば、@context.__tenantid@です。

注: この文書で使用されているプロパティの説明は、 こちらから参照できます。

フローインスタンスのプロパティへのアクセス

各フローインスタンスのプロパティには、それぞれ固有の型があります。 したがって、プロパティの値へのアクセスは、そのプロパティの型によって影響を受けます。 サポートされているプロパティの型は、「String」、「Number」、「Boolean」、「JSON」、および「Array」です。 それぞれの物件タイプがどのように活用できるかについては、以下に示す詳細をご参照ください。

  • @context.propertyName@文字列、ブール値、または数値は、. として参照できます。 例えば、以下のとおりです。
    • ステータス - @context.status@
    • __tenantid - @context.__tenantid@
    • __locale - @context.__locale@
  • .ネストされたJSONプロパティには、'' 区切り文字を使用するか、角括弧を使って [] アクセスできます。 例えば、以下のとおりです。
    • userName ユーザープロパティから - @context.user.id@
    • messageId エラープロパティから - @context.error.messageId@
    • ユーザープロパティからのID - @context.user['id']@
    注:
    • 中括弧は [] 、子プロパティへのアクセスにのみ使用する必要があります。
    • .「」で囲まれたネストされたプロパティは、必ず角括弧で [] 囲む必要があります。
  • 配列のプロパティには、角括弧内に [] 必要なインデックスを指定することでアクセスできます。 例えば、以下のとおりです。
    • ユーザープロパティからのメール - @context.user.emails[0].value@ または @context.user['emails'][0].value@
    • ユーザープロパティからのカスタム属性名 - @context.user['urn:ietf:params:scim:schemas:extension:ibm:2.0:User'].customAttributes[0].name@

入力パラメータにおける式の使用

この式を使用すると、タスクの入力パラメータ内のインスタンスプロパティにアクセスできます。 入力パラメータでは、演算子を用いた式も使用できます。 入力パラメータでは、二項演算子や三項演算子を式と組み合わせて使用できます。 以下の例を参照してください

  • プロパティへのアクセス - @context.themeId@
  • 二項演算子「-」を使用する @context.user.userName@ == "Jessica Hill"
  • 三項演算子の使用 - @context.user['urn:ietf:params:scim:schemas:extension:ibm:2.0:User'].userCategory@ == "regular" ? @context.basicLdapUrl@ : @context.federatedUrl@
注: シグナル入力パラメータでは式は使用できません。 提供されたコンテンツはすべて文字列として扱われます。

条件ビルダー

条件ポイントの決定パスは、条件ビルダーに基づいて構築されます。 条件ビルダーは、条件ポイントからの発信シーケンスフロー上で利用可能です。 条件ビルダーは「if」条件セットから始まり、「or」条件セットを0個以上含めることができます。 各条件セットには、複数の条件を含めることができます。 各条件は、「 属性 」、「 演算子 」、「 」の3つのセクションに分かれています。

属性 」セクションでは、ユーザーは事前定義されたプロパティのドロップダウンからプロパティを選択できるほか、カスタムフローインスタンスプロパティを入力することもできます。
@注: カスタムフローのインスタンスプロパティは、で @context 始まり、で終わらなければなりません。 @context.responseCode@responseCodeたとえば、という名前のカスタムプロパティにアクセスするには、ユーザーは「-」と入力します。

」セクションでは、文字列、数値、ブール値、およびフロー式を入力としてサポートしています。

注: デフォルトのフローインスタンスのプロパティ一覧とそのデータ型については、 こちらを参照してください。
条件ビルダーには、条件を作成するための定義済み演算子のリストが用意されています。 この表は、条件ビルダーでサポートされている演算子のリストを示しています。
演算子 サポートされるデータ・タイプ 説明
equal to 文字列、数値、ブール値 比較における属性と値は等しい。 @context.status@ 失敗に等しい
not equal to 文字列、数値、ブール値 比較対象の属性と値は等価ではありません。 @context.themeId@ 既定値とは異なる
less than 数値 比較対象の属性の値は、その値よりも小さい。 @context.numericProperty@ (コンテキスト内に numericProperty という名前の変数が存在すると仮定する) 20未満である。
less than or equal to 数値 比較における属性は、その値以下です。 @context.numericProperty@ 20 以下
greater than 数値 比較対象の属性の値は、その値よりも大きい。 @context.numericProperty@ 20 より大きい
greater than or equal to 数値 比較対象の属性は、その値以上です。 @context.numericProperty@ 20 以上
is true ブール この属性プロパティは true と評価されます。 @context.booleanProperty@ (コンテキスト内に booleanProperty という名前の変数が存在すると仮定する) が真である
is false ブール この属性プロパティは false と評価されます。 @context.booleanProperty@ は偽である
has property _ この属性には、value で指定されたプロパティが含まれています。 @context.user.name@ givenName というプロパティを持つ
is not null 文字列、数値、ブール値 この属性はNULLではありません。 @context.user.name.givenName@ nullではない
is not empty ストリング この属性は空ではありません。 @context.user.name.givenName@ 空ではありません
注:
  • is true is falseis not null、および is not empty 演算子には、 「 」セクションは不要です。
  • 複雑な条件を計算するには、ユーザーは 「関数 」タスクを使用する必要があります。 たとえば、特定の属性に基づいてユーザー一覧から特定のユーザーを絞り込む場合などです。 フィルタリングされたユーザーには、この式を使用してアクセスできます。
  • データ型は、""で囲むことで文字列に変換できます。 たとえば、数値の10は「10」という文字列に変換でき、ブール値のtrueは「true」という文字列に変換できます。