ペイロード変換

*ペイロード変換*は、ウォッチ実行コンテキスト内のペイロードを処理し、ウォッチアクションの準備を行います。ウォッチャーは、3種類のペイロード変換をサポートしています:

ペイロード変換はオプションです。定義されていない場合、アクションはウォッチ入力によって読み込まれたペイロードにアクセスできます。

ペイロード変換は2つの場所で定義できます:

  • ウォッチ定義のトップレベル構造として。この場合、ペイロードはウォッチアクションが実行される前に変換されます。
  • アクションの定義の一部として。この場合、ペイロードはそのアクションが実行される前に変換されます。変換は、その特定のアクションのペイロードにのみ適用されます。

すべてのアクションが同じペイロードのビューを必要とする場合、ウォッチ定義の一部としてペイロード変換を定義します。各アクションが異なるペイロードのビューを必要とする場合、アクション定義の一部として異なるペイロード変換を定義し、各アクションが独自の専用ペイロード変換によって準備されたペイロードを持つようにします。

以下の例では、ウォッチレベルで1つ、my_webhookアクションの定義の一部として1つのペイロード変換を定義しています。

Js

  1. {
  2. "trigger" : { ...}
  3. "input" : { ... },
  4. "condition" : { ... },
  5. "transform" : {
  6. "search" : {
  7. "request": {
  8. "body" : { "query" : { "match_all" : {} } }
  9. }
  10. }
  11. },
  12. "actions" : {
  13. "my_webhook": {
  14. "transform" : {
  15. "script" : "return ctx.payload.hits"
  16. },
  17. "webhook" : {
  18. "host" : "host.domain",
  19. "port" : 8089,
  20. "path" : "/notify/{{ctx.watch_id}}"
  21. }
  22. }
  23. ]
  24. }
ウォッチレベルの transform
アクションレベルの transform