その他の formula ​

ここでは、多数のデータ型に使用する formula について説明します。

null ​

null または nil 値を与えます。これを入力項目に渡しても、値が null に更新されるわけではないことに注意してください。項目の値を null に更新するには、clear formula を使用します。入力項目は必ず formula モードに切り替えてください。

入力項目の null formula


clear ​

ターゲットアプリの項目の値をクリアして null または nil にします。入力項目は必ず formula モードに切り替えてください。

入力項目の clear formulaターゲットアプリの項目をクリアするには、null formula ではなく clear formula を使用する


skip ​

ターゲットアプリのこの項目には何も渡しません。すでに項目に値がある場合は、そのまま変更されません。

例 ​

以下の例では、更新された Salesforce レコードを使って Marketo のリードを更新します。Salesforce の Company が存在するかどうかをチェックし、存在する場合は Salesforce の Company を Marketo に出力します。存在しない場合、Marketo レコードを変更しません。

入力項目の skip formulaskip formula のサンプルユースケース

更新されたデータピルが空の場合、この項目はスキップされます

skip formula は、Update アクションで既存の値を変更したくない場合に使用します。


uuid ​

UUID を生成します。

例 ​

例結果
uuid"c52d735a-aee4-4d44-ba1e-bcfa3734f553"

encrypt ​

入力文字列を AES-256-CBC アルゴリズムを使って共通鍵で暗号化します。暗号化された出力文字列は RNCryptor V3 形式でパックされ、base64 にエンコードされます。

注 : 暗号鍵をレシピにハードコードしないでください。暗号鍵の格納には、アカウントプロパティ (名前の key または password) を使用してください。

例 ​

encrypt([ssn], [encryption_key])


decrypt ​

暗号化された入力文字列を AES-256-CBC アルゴリズムを使って共通鍵で復号します。暗号化された入力文字列は RNCryptor V3 形式でパックされ、base64 にエンコードされている必要があります。

注 : 暗号鍵をレシピにハードコードしないでください。暗号鍵の格納には、アカウントプロパティ (名前の key または password) を使用してください。

例 ​

decrypt([encrypted_ssn], [encryption_key])


encode_sha256 ​

文字列またはバイナリの配列を SHA256 アルゴリズムを使ってエンコードします。

例 ​

"hello".encode_sha256


encode_hex ​

バイナリ文字列を16進表現に変換します。

例 ​

例結果
"0101010101011010".encode_hex"30313031303130313031303131303130"

decode_hex ​

16進数をバイナリ文字列にデコードします。

例 ​

例結果
"30313031303130313031303131303130".decode_hex"0101010101011010"

decode_url ​

文字列を URL デコードします。この formula では CGI.unescape を使用して URL デコードを行います。

例 ​

例結果
'https%3A%2F%2Fworkato.com%2Ffoo%3Fbar%3Dat%23anchor'.decode_url"https://workato.com/foo?bar=at#anchor"
'%27Stop%21%27+said+Fred"'.decode_url"'Stop!' said Fred"

encode_base64 ​

Base64 アルゴリズムを使用してエンコードします。

例 ​

例結果
"Hello World!".encode_base64"aGVsbG8gd29ybGQh"

decode_base64 ​

Base64 アルゴリズムを使用してデコードします。

例 ​

例結果
"aGVsbG8gd29ybGQh".decode_base64"Hello World!"

encode_url ​

文字列を URL エンコードします。

例 ​

例結果
"Hello World".encode_url"Hello%20World"

encode_urlsafe_base64 ​

URL セーフの修正が盛り込まれた Base64 アルゴリズムを使用してエンコードします。

例 ​

例結果
"Hello World".encode_urlsafe_base64"SGVsbG8gV29ybGQ="

decode_urlsafe_base64 ​

URL セーフの修正が盛り込まれた Base64 アルゴリズムを使用してデコードします。

例 ​

例結果
"SGVsbG8gV29ybGQ".decode_urlsafe_base64"Hello World"

as_string ​

バイトシーケンスを指定されたエンコーディングの文字列としてデコードします。

例 ​

例結果
"SGVsbG8gV29ybGQ=".decode_base64.as_string('utf-8')"Hello World"

as_utf8 ​

バイトシーケンスを UTF-8 文字列としてデコードします。

例 ​

例結果
"SGVsbG8gV29ybGQ=".decode_base64.as_utf8"Hello World"

to_hex ​

バイナリ文字列を16進表現に変換します。

例 ​

例結果
"SGVsbG8gV29ybGQ=".decode_base64.to_hex"48656c6c6f20576f726c64"

SHA1 ​

SHA1 暗号化アルゴリズムを使用して、指定された文字列を暗号化します。詳しくは、こちらを参照してください。

例 ​

例結果
"abcdef".sha1.encode_base64"H4rBDyPFtbwRZ72oS4M+XAV6d9I="

HMAC formula ​

さまざまなアルゴリズムを使って HMAC 署名を生成します。

例 ​

署名アルゴリズム例
SHA-256"username:password:nonce".hmac_sha256("key")
SHA-1"username:password:nonce".hmac_sha1("key")
SHA-512"username:password:nonce".hmac_sha512("key")
MD5"username:password:nonce".hmac_md5("key")

md5_hexdigest ​

文字列を受け取り、MD5 メッセージダイジェストアルゴリズムを使ってメッセージダイジェストを生成します。

例 ​

例結果
"hello".md5_hexdigest"5d41402abc4b2a76b9719d911017c592"

jwt_encode ​

RS256、RS384、RS512、HS256 のいずれかのアルゴリズムを使用して、JWT を作成します。追加の名前付きパラメータがヘッダーに追加されます (次の例の kid)。

例 ​

例結果
workato.jwt_encode({ name: "John Doe" }, "PEM key", 'RS256')"eyJhbGciO..."
workato.jwt_encode({ name: "John Doe" }, "PEM key", 'RS512', kid: "24668")"eyJ0eXAiO..."
workato.jwt_encode({ name: "John Doe" }, "my$ecretK3y", 'HS256', kid: "24668")"eyJ0eXAiO..."
workato.jwt_encode({ name: "John Doe" }, "my$ecretK3y", 'HS256')"eyJ0eXAiO..."

parse_yaml ​

YAML 文字列を解析します。true、false、nil、数値、文字列、配列、ハッシュをサポートしています。

例 ​

例結果
workato.parse_yaml("---\nfoo: bar")"{ "foo" => "bar" }"
workato.parse_yaml("---\n- 1\n- 2\n- 3\n")"[1, 2, 3]"

render_yaml ​

オブジェクトを YAML 文字列に変換します。

例 ​

例結果
workato.render_yaml({ "foo" => "bar" })"---\nfoo: bar\n"
workato.render_yaml([1,2,3])"---\n- 1\n- 2\n- 3\n"

lookup ​

この formula を使用すると、Workato の Lookup table からキーを使って値を検索することができます。大文字と小文字が区別され、データ型も区別されます。

lookup formula でデータピルを使う場合、データを適切な形式に変換することをお勧めします。たとえば、整数と文字列の両方を含んだカラムと比較する場合、整数型のデータピルは .to_s formula で文字列に変換する必要があります。

例 ​

例として、名前が Department Codes で ID が6の次の Lookup table を使用します。

サンプルの部門コード Lookup tableサンプルの部門コード Lookup table

例結果
lookup('Department Lookup table', 'Department code': 'ACC')['Department']"Accounting"
lookup('Department Lookup table', 'Department code': 'SLS')['Department']"Sales"
lookup('Department Lookup table', 'Department': 'Marketing')['Department code']"MKT"
lookup('Department Lookup table', 'Department': 'marketing')['Department code']nil
一致では大文字と小文字が区別されるため、値「Marketing」を見つけることができない
lookup('Department Lookup table', 'Department': 'Marketing')['Department Code']nil
一致では大文字と小文字が区別されるため、カラム「Department Code」を見つけることができない
lookup('6', 'Department code': 'ACC')['Department']"Accounting"
注 : Lookup table の ID は必ず引用符 "" で囲んでください。

Lookup table の ID の使用

Lookup table の ID と名前はどちらを使用しても構いません。Lookup table の ID は URL で確認できます。

例:

https://app.workato.com/lookup_tables/<lookup_table_id>

lookup_table ​

この formula を使用すると、静的な Lookup table を作成してキーと値を定義できます。大文字と小文字が区別され、データ型も区別されます。

例 ​

例結果
{"key1" => "value1", "key2" => "value2", "key3" => "value3"}["key2"]"value2"
{"High" => "urgent", "Medium" => "mid", "Low" => "normal"}["Low"]"normal"
{"High" => "urgent", "Medium" => "mid", "Low" => "normal"}["low"]nil
{"High" => "urgent", "Medium" => "mid", "Low" => "normal"}["normal"]nil
{1 => "1", 2 => "2", 3 => "3"}[2]"2"
{1 => "1", 2 => "2", 3 => "3"}[2.0]nil
{1 => "1", 2 => "2", 3 => "3"}["2"]nil

Last updated: