> ## 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コードを記述して入力データの読み取りや中間データの処理を行い、最終的に組み込みのoutputオブジェクトを介してデータを注入します。これにより、業務フローのオーケストレーション内でスクリプトによるデータ処理が可能になります。

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

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

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

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

  <Step title="JavaScriptスクリプトの記述" />

  <Step title="inputObjにテストデータを入力し、「テスト」をクリックして出力を確認しコードをテストする" />
</Steps>

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

下流ノードでフォールド種類を選択すると、直前のスクリプトノードの出力フィールドが利用可能になります。

## 備考

* 新しいスクリプトノードは従来のGroovyノードを置き換え、より幅広い開発者がスクリプトを利用できるようになりました。
* スクリプトノードはES5構文のみに対応しています。ES6以降の構文には非対応です。
* 一括更新ノードの処理には未対応です。
* 大量のメモリを必要とするデータ処理は避けてください。10MB（保留。YiDAがこの上限を調整する場合があります）を超えるとメモリオーバーフローエラーが発生します。CPU使用時間が5秒を超える場合（例：無限ループ）、自動保護メカニズムが作動しエラーが発生します。
* XHRやfetchなどのネットワークリクエストには対応していません。window、console、printなどのトップレベルのオブジェクトや関数には対応していません。
* コードブロック内での関数定義には対応しています。
* 関数の外側にreturn文を記述しないでください。
