フローにおける式サポート
この式を使用すると、フローインスタンスの実行中にプロパティにアクセスできます。
概要
「実行」 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']@
注:- 中括弧は
[]、子プロパティへのアクセスにのみ使用する必要があります。 .「」で囲まれたネストされたプロパティは、必ず角括弧で[]囲む必要があります。
- userName ユーザープロパティから -
- 配列のプロパティには、角括弧内に
[]必要なインデックスを指定することでアクセスできます。 例えば、以下のとおりです。- ユーザープロパティからのメール -
@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 trueis false、is not null、およびis not empty演算子には、 「値 」セクションは不要です。 - 複雑な条件を計算するには、ユーザーは 「関数 」タスクを使用する必要があります。 たとえば、特定の属性に基づいてユーザー一覧から特定のユーザーを絞り込む場合などです。 フィルタリングされたユーザーには、この式を使用してアクセスできます。
- データ型は、""で囲むことで文字列に変換できます。 たとえば、数値の10は「10」という文字列に変換でき、ブール値のtrueは「true」という文字列に変換できます。