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.

  1. 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);
    	}
    
    }
  2. 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);
    	}
    
    }
  3. 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.