0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WorkatoAdvent Calendar 2022

Day 3

Workato:Recipe functionsへ簡単に多くの値を受け渡すテクニック

Last updated at Posted at 2022-12-05

はじめに

WorkatoのRecipe functionsで呼び出し元から値を取得する、あるいは呼び出し元に対して値を返す際には、リクエスト(引数)、レスポンス(戻り値)のスキーマ定義が必要となります。
image.png

Recipe functionsに対して受け渡す値が少ない場合は1つ1つスキーマを定義して対応することで問題ありませんが、例えば、以下のような内容を全てRecipe functionsへ渡したい場合、受け渡す値が多いためスキーマ定義が非常に複雑になり、定義の手間がかかります。また、スキーマの数の上限により、そもそも値を受け渡せない問題が生じる場合があります。

image.png

対応

JSONテキスト化してRecipe functionsへ渡すことで、上記のような値も手軽にRecipe functionsへ受け渡すことが出来ます。

コネクタの戻り値をJSONへ変換するには、Recipe functionsのフィールドをFormulaモードに切り替えたうえで、Recipe functionsへ渡したいアクションのデータピルをセットし、 .to_json メソッドを追加します。このようにすることで、指定されたRecipe functionsへJSONテキストで値を渡すことができます。

image.png

値が渡されたRecipe functionsでは、JSON Parser by Workatoコネクタを利用することで、JSONテキストをパースすることができます。
image.png

パースされた結果は、データピルを選択して、各コネクタ(アクション)上で利用することが出来ます。

image.png

なお、JSON Parser by WorkatoでJSONをパースする際、スキーマを認識させる(スキーマを自動生成する)ためにSample documentの入力が必要になります。Recipe functionsに値を渡したいコネクタのレスポンスを「Copy JSON」でコピーし、コピーした内容をSample documentへ貼付することで、自動的にスキーマが生成されます。(手動でスキーマを定義したり、Formulaを駆使して対応する必要はありません)

image.png

以上のテクニックを活用することで、Workatoのレシピ開発を効率的に行えるようになりますので、是非ご活用ください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?