Criar variáveis personalizadas usando o SDK de pacote do
Ao usar o Automation 360, você pode criar variáveis personalizadas usando o pacote do SDK.
Usar variáveis personalizadas
Use Automation 360 para criar uma variável personalizada. Esta é uma variável do sistema e é usada como outras bot variáveis, exceto que é somente leitura e o valor é calculado em vez de ser atribuído.
Anotações obrigatórias
Para criar uma variável, as seguintes anotações são necessárias:
Anotação | Utilização |
---|---|
Comando de bot |
Use a anotação BotCommand com a variável como commandType. Isso garante que o objeto Java antigo simples (POJO) seja adequado para criar uma Automation 360 variável. |
Pacote de comando |
Esses valores são usados ao criar um pacote. Forneça um nome, rótulo e descrição para a anotação. |
Identificação |
Anotar todos os parâmetros e variáveis de membro necessários e ajudar 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. |
Pacote |
Anotar todos os parâmetros e variáveis de membro que serão mostrados na interface. Esta anotação será ignorada se não for acompanhada pelo Idx. |
Execução Variável |
O método que deve ser chamado para retornar o valor da variável. Esse método não aceita nenhum parâmetro de entrada. Sessões e GlobalSessionContext estão disponíveis através da injeção de 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.
- Criar a classe POJO com a lógica de negócios:
public class Now { public DateTimeValue now() { Instant instant = Instant.now(); ZonedDateTime now = instant.atZone(ZoneId.systemDefault()); return new DateTimeValue(now); } }
- Faça anotações na classe POJO para habilitá-la para a Automation 360 variável e 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); } }
- Anotar o método
now
para denotá-lo como 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.