> ## 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の自動ノードで実行アクションを設定し、サードパーティのデータをプロセス変数に代入する方法を解説。サービス登録やGroovyスクリプトによる変数代入、HTTPインターフェースの要件とJavaサンプルコードを紹介します。

自動ノードは、主に実行アクションを設定することで、サービス登録または Groovy を通じてサードパーティのデータをプロセス内の変数に代入するために使用します。

## サードパーティサービス

実行アクションを設定する際に、正常に登録済みのサードパーティサービスを選択し、そのサードパーティサービスの戻り値をプロセス内の変数に代入できます。

<Note>
  サードパーティサービスは事前に登録しておく必要があります。詳細は**サービス登録**をご覧ください。
</Note>

## Groovy 設定

Groovy 設定を通じて、プロセス内の変数に値を代入できます。プロセス変数名を正しく入力し、代入する値を実行スクリプトに記述するだけです。

<Note>
  * 変数はプロセスの属性で定義されている必要があります。
  * 文字列を代入する場合は、"HelloWorld" のように引用符を付ける必要があります。
</Note>

代入後、この値はオンライン実行ルールでの評価に使用できます。

## 実行アクション設定の説明

コールバックインターフェースが HTTP インターフェースの場合、インターフェースは以下の要件に従って作成する必要があります。

* HTTP メソッドは POST でなければなりません。
* リクエストパラメータは RequestBody に格納します。
* uuid はシステムキーワードのため使用できません。
* サービス登録時に SHA256 署名キーを使用した場合は、コールバックパラメータ \_\_hmacSha256 を追加する必要があります。
* md5 は、サービスコールバックで追加されるデフォルトの署名方式です。サービス登録時にキーを設定していない場合は、当システムのデフォルトキーが署名に使用されます。キーを設定した場合は、設定したキーが署名に使用され、コールバックパラメータは sign となります。

以下は、Java で記述したシンプルなコールバックインターフェースのサンプルです。参考にしてください。

```java theme={"theme":{"light":"github-light","dark":"github-dark"}}
@RequestMapping(value = "/callback",method = RequestMethod.POST)
@ResponseBody
public List<String> callback(@RequestBody CallbackParam callbackParam) {
  // 戻り値の形式：["社員番号1","社員番号2"]。戻り値が空の場合は null を直接返します
  List<String> result = new ArrayList<>();
  // do something
  return result;
}
```
