Crear variables personalizadas mediante el paquete SDK
- Última actualización2022/05/19
Crear variables personalizadas mediante el paquete SDK
Cuando se utiliza Automation 360, puede crear variables personalizadas mediante el paquete SDK.
Uso de variables personalizadas
Use Automation 360 para crear una variable personalizada. Esta es una variable del sistema y se utiliza como otras variables de bot, excepto que es de solo lectura y el valor se calcula en lugar de ser asignado.
Anotaciones obligatorias
Para crear una variable, se requieren las siguientes anotaciones:
Anotación | Uso |
---|---|
BotCommand |
Use la anotación BotCommand con la variable como commandType . Esto asegura que el objeto Java antiguo sin formato (POJO) sea adecuado para crear una variable Automation 360. |
CommandPkg |
Estos valores se utilizan cuando se crea un paquete. Proporcione un nombre, una etiqueta y una descripción para la anotación. |
Idx |
Anote todos los parámetros y variables miembro que se requieren y ayude a la comprobación de la validación. Otra posibilidad es que se muestren en la interfaz de la entrada. Proporcione el índice (Idx ) y el tipo. |
Pkg |
Anote todos los parámetros y variables de miembro que se mostrarán en la interfaz. Esta anotación será ignorada si no va acompañada de la etiqueta Idx . |
VariableExecute |
El método que se debe llamar para devolver el valor de la variable. Este método no acepta parámetros de entrada. Sessions y GlobalSessionContext están disponibles a través de la inyección de setters. |
Ejemplo de caso de uso
El siguiente caso de uso muestra cómo devolver la hora actual para la zona predeterminada del sistema.
- Crear la clase POJO con la lógica de negocio:
public class Now { public DateTimeValue now() { Instant instant = Instant.now(); ZonedDateTime now = instant.atZone(ZoneId.systemDefault()); return new DateTimeValue(now); } }
- Anote la clase POJO para habilitarla para la variable Automation 360 y para crear el paquete:
@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); } }
- Anote el método
now
para indicar que es el método de ejecución.@VariableExecute public DateTimeValue now() { Instant instant = Instant.now(); ZonedDateTime now = instant.atZone(ZoneId.systemDefault()); return new DateTimeValue(now); }
Cada variable debe tener un método de prueba
VariableExecute
.