パッケージ SDK を使用したカスタム変数の作成
- 最終更新日2022/05/19
Automation 360 を使用すると、SDK パッケージを使用してカスタム変数を作成することができます。
カスタム変数の使用
Automation 360 を使用してカスタム変数を作成することができます。これはシステム変数であり、読み取り専用で、値が代入される代わりに計算されることを除けば、他の Bot 変数として使用されます。
必要な注釈
変数を作成するには、次の注釈が必要です。
| 注釈 | 使用状況 | 
|---|---|
| BotCommand | 変数を commandTypeとしてBotCommand注釈を使用します。これにより、POJO (plain old Java object) が Automation 360 変数の作成に適するようになります。 | 
| CommandPkg | これらの値は、パッケージの作成時に使用されます。注釈に名前、ラベル、説明を指定します。 | 
| Idx | 検証チェックに役立つよう、必要なすべてのパラメーターとメンバー変数に注釈を付けます。入力時のインターフェースに表示することもできます。インデックス ( Idx) とタイプを指定します。 | 
| Pkg | インターフェースに表示するすべてのパラメーターとメンバー変数に注釈を付けます。 Idxが付いていない注釈は無視されます。 | 
| VariableExecute | 変数値を返すために呼び出す必要があるメソッド。このメソッドは入力パラメーターを受け付けません。 SessionsとGlobalSessionContextは、セッター インジェクションを通じて利用できます。 | 
ユース ケース例
次のユース ケースは、システムのデフォルト ゾーンの現在の時刻を返す方法を示しています。
- 次のビジネス ロジックを持つ POJO クラスを作成します。public class Now { public DateTimeValue now() { Instant instant = Instant.now(); ZonedDateTime now = instant.atZone(ZoneId.systemDefault()); return new DateTimeValue(now); } }
- POJO クラスに注釈を付けることで Automation 360 変数に対して有効にし、パッケージを作成します。@BotCommand(commandType = BotCommand.CommandType.Variable) @CommandPkg(description = "The current datetime at system default zone.", name = "Now", label = "", variable_return_type = DataType.DATETIME) public class Now { public DateTimeValue now() { Instant instant = Instant.now(); ZonedDateTime now = instant.atZone(ZoneId.systemDefault()); return new DateTimeValue(now); } }
- nowメソッドに注釈を付けて、execute メソッドであることを示します。- @VariableExecute public DateTimeValue now() { Instant instant = Instant.now(); ZonedDateTime now = instant.atZone(ZoneId.systemDefault()); return new DateTimeValue(now); }- 変数ごとに、1 つのテスト - VariableExecuteメソッドが必要です。