一般函式
變數
您可以使用這些一般變數來識別有關執行的詳細資訊:
executionId:此案例執行的識別碼scenarioId:目前已開啟情境的 IDscenarioName:目前執行中情境的名稱scenarioUrl: Fusion使用者介面中目前案例的連結executionUrl: Fusion使用者介面中目前案例執行的連結scenarioApiUrl:目前案例的Fusion API URLexecutionApiUrl:目前執行詳細資訊的Fusion API URLteamId:擁有目前情境的Fusion團隊識別碼organizationId:與目前執行關聯的Fusion組織識別碼。 這不是Adobe IMS組織ID。triggerTimestamp:觸發此執行的時間operationsConsumed:在情境中該時間點使用的作業數量。
變數名稱會區分大小寫。 例如,使用scenarioUrl,而不是scenarioURL。
您可以在對應欄位中使用這些變數,而無需建立URL或為團隊和組織ID編寫硬式編碼。 例如,您可以在通知的對映文字欄位中加入以下內容:
Scenario: {{scenarioName}}
Open scenario: {{scenarioUrl}}
Open execution: {{executionUrl}}
Team: {{teamId}}
Organization: {{organizationId}}
使用這些變數時,請記得下列事項:
- 案例執行時會解析值。 對應面板會列出變數,但不會預覽其值。
scenarioUrl和executionUrl連結至案例和Fusion使用者介面中的執行。scenarioApiUrl和executionApiUrl是API端點URL,而不是連結到Fusion頁面。- API URL變數只會傳回文字。 他們不會提出要求或提供驗證認證。 一般API驗證和許可權仍然適用。
- 連結不會授與額外存取權。 適用一般Fusion許可權。
- 未針對未儲存至執行歷程記錄的執行(例如沙箱執行或在歷程記錄同步關閉的情況下執行)產生
executionUrl。 產生的連結並不保證您使用它時就能取得執行詳細資訊。 - 無法為範本或未儲存的案例產生
scenarioUrl。 - 如果無法產生URL,變數就沒有值。
get (物件或陣列;路徑)
傳回物件或陣列的值路徑。 若要存取巢狀物件,請使用點標籤法。 陣列中的第一個專案是索引1。
範例:
get( array ; 1 + 1 )get( array ; 5.raw_name )get( object ; raw_name )get( object ; raw_name.sub_raw_name )
if (運算式;值1;值2)
如果運算式評估為true,則傳回value1;否則會傳回value2。
若要建立if陳述式(只有在兩個或多個運算式被評估為true時才傳回值),請使用and關鍵字。
若要合併if陳述式,請使用and和or運運算元。
範例:
-
if( 1 = 1 ; A ; B )傳回
-
if( 1 = 2 ; A ; B )傳回B
-
if( 1 = 2 and 1 = 2 ; A ; B )傳回B
imfempty (value1; value2)
如果此值不是空的,則傳回value1;否則會傳回value2。
範例:
-
ifempty(A;B)傳回
-
ifempty(unknown;B)傳回B
-
ifempty("";B)傳回B
switch (運算式; value1; result1; [value2; result2; …]; [else])
根據值清單評估一個值(稱為運算式);傳回對應至第一個相符值的結果。 若要包含else值,請將其新增到最終運算式或值之後。
範例:
-
switch( B ; A ; 1 ; B ; 2 ; C ; 3 )傳回2
-
switch( C ; A ; 1 ; B ; 2 ; C ; 3 )傳回3
-
switch( X ; A ; 1 ; B ; 2 ; C ; 3 ; 4 )傳回4
在此函式中,4是在未套用運算式時傳回的值(
else值)。
省略(物件;key1; [key2; …])
省略物件的指定索引鍵並傳回其餘索引鍵。
範例:
omit(使用者;密碼)
傳回使用者資訊(不包括密碼)的集合。
pick(物件;key1; [key2; …])
僅從物件中挑選指定的索引鍵。
範例:
pick(使用者;密碼;電子郵件)
只傳回使用者密碼和電子郵件地址的集合。
mergeCollections(collection1; collection2)
結合兩個集合的機碼值組以將其合併。 如果兩個集合包含相同的索引鍵,則第二個集合的值會覆寫第一個集合的值。
isBlank(value)
如果值為null或空字串,則傳回true,否則傳回false。 不像ifEmpty,此函式不會將數字0或僅限空白的字串視為空白。
範例:
-
isBlank("")傳回true
-
isBlank(null)傳回true
-
isBlank("Hello")傳回false
-
isBlank(0)傳回false
-
isBlank(" ")傳回false
in(value; value1; value2; …)
如果值等於提供的值之一(嚴格相等,沒有型別強制),則傳回true。
範例:
-
in("B"; "A"; "B"; "C")傳回true
-
in("D"; "A"; "B"; "C")傳回false
-
in(2; 1; 2; 3)傳回true
-
in("2"; 1; 2; 3)傳回false
ifin(value; value1; value2; …; trueExpression; falseExpression)
如果值與任何提供的相符值相符,則傳回trueExpression,否則傳回falseExpression。 至少需要3個引數(值、一個符合值以及trueExpression + falseExpression)。
範例:
-
ifin("B"; "A"; "B"; "yes"; "no")傳回yes
-
ifin("D"; "A"; "B"; "yes"; "no")傳回否
-
ifin("X"; "X"; "found"; "not found")找到傳回
case(indexNumber; value1; value2; …)
傳回索引編號(以1為基礎)所指定位置的值。 如果索引超出界限或為0,則傳回null。
範例:
-
case(1; "Sun"; "Mon"; "Tue")傳回Sun
-
case(2; "Sun"; "Mon"; "Tue")傳回週一
-
case(3; "Sun"; "Mon"; "Tue")傳回星期二
-
case(5; "a"; "b")傳回null
case(dayOfWeek(date); "Sun"; "Mon"; "Tue"; "Wed"; "Thu"; "Fri"; "Sat")