Criar variáveis personalizadas usando o pacote SDK
- Última atualização2022/05/19
Criar variáveis personalizadas usando o pacote SDK
Ao usar Automation 360, você pode criar variáveis personalizadas usando o pacote SDK.
Como usar variáveis personalizadas
Use o Automation 360 para criar uma variável personalizada. Esta é uma variável do sistema e é usada como outras variáveis bot, a não ser pelo fato de ela ser somente leitura e o valor é calculado em vez de ser atribuído.
Anotações necessárias
Para criar uma variável, são necessárias as seguintes anotações:
Anotação | Utilização |
---|---|
BotCommand |
Use a anotação BotCommand com a variável como commandType . Isso garante que o objeto Java simples antigo (POJO) seja adequado para criar uma variável Automation 360. |
CommandPkg |
Esses valores são utilizados na criação de um pacote. Forneça um nome, rótulo e descrição para a anotação. |
Idx |
Anote todos os parâmetros e variáveis dos membros que são necessários e ajude na verificação de validação. Como alternativa, eles podem ser exibidos na interface para a entrada. Forneça o índice (Idx ) e o tipo. |
Pkg |
Anote todos os parâmetros e variáveis de membros que serão mostrados na interface. Essa anotação será ignorada se não for acompanhada por Idx . |
VariableExecute |
O método que deve ser chamado para retornar o valor da variável. Este método não aceita nenhum parâmetro de entrada. Sessions e GlobalSessionContext estão disponíveis por meio de injeção do setter. |
Exemplo de caso de uso
O caso de uso a seguir mostra como retornar a hora atual para a zona padrão do sistema.
- Crie a classe POJO com a lógica empresarial:
public class Now { public DateTimeValue now() { Instant instant = Instant.now(); ZonedDateTime now = instant.atZone(ZoneId.systemDefault()); return new DateTimeValue(now); } }
- Anote a classe POJO para habilitá-la para a variável Automation 360 e para criar o pacote:
@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 o método
now
para denotá-lo como sendo o método de execução.@VariableExecute public DateTimeValue now() { Instant instant = Instant.now(); ZonedDateTime now = instant.atZone(ZoneId.systemDefault()); return new DateTimeValue(now); }
Cada variável deve ter um método
VariableExecute
de teste.