> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# スクリプトノード

> YiDAのワークフローで、スクリプトノードにJavaScriptを記述し、静的変数の挿入やデータ整形など柔軟なビジネスロジックを実現する方法を解説します。ローコード開発者向けに、利用シーン・使い方・注意事項をわかりやすく紹介。

YiDAのワークフローでは、ワークフローまたは統合と自動化を設計する際に、ローコード開発者が**スクリプト**タイプの開発者ノードを追加できます。スクリプトノードを利用すると、開発者はJavaScriptでスクリプトを記述し、業務フローに静的変数を手動で挿入したり、上流ノードから返されたデータを整形したりでき、ワークフロー構成をより柔軟に行えます。

## 利用シーン

設計フェーズでスクリプトノードを追加し、JavaScriptコードを記述することで、入力データから値を取得し、中間データを処理し、最終的にビルトインの出力オブジェクトを介してデータを注入できます。これにより、業務フローのオーケストレーションでスクリプトによるデータ処理を実現します。

## スクリプトノードへのアクセス

* 方法1：ワークフローフォームを編集 > ワークフロー設計ページに移動 > 開発者ノードを選択 > スクリプトノード。
* 方法2：アプリを編集 > 統合と自動化 > 対象の自動化フローを選択して設計画面に入り、スクリプトノードを追加。

## スクリプトノードの使用

<Steps>
  <Step title="スクリプトノードを追加" />

  <Step title="JavaScriptを記述" />

  <Step title="コードをテストするには、inputObjにテストデータを入力し、Testボタンをクリックしてテスト出力データを取得" />
</Steps>

## スクリプトデータの利用

スクリプトノードの下流ノードでフィールドのタイプを選択すると、直前のスクリプトノードの出力ノードに対応するフィールドが表示されます。

## 注意事項

* 新しいスクリプトノードは、従来のGroovyノードを置き換えるものであり、より幅広い開発者層に対応します。
* スクリプトノードはES5構文のみに対応し、ES6以降の構文には非対応です。
* バッチ更新ノードの処理には、まだ対応していません。
* 高メモリを消費するシーンでのデータ処理は行わないでください。10 MBを超えると（現時点では暫定的に10 MBに設定されており、YiDAが実際の状況に応じて調整します）、メモリ制限エラーが発生します。CPU使用時間が5秒を超えた場合（例：無限ループを記述した場合）、自動保護機構が作動しエラーとなります。
* xhrやfetchによるネットワークリクエストには非対応です。また、window、console、printなどのトップレベルのオブジェクトや関数にも非対応です。
* コードブロック内で関数を定義することには対応しています。
* 関数の外側にreturn文を追加しないでください。
