Créer des variables personnalisées à l'aide du package SDK

Lorsque vous utilisez Automation 360, vous pouvez créer des variables personnalisées à l'aide du package SDK.

Utilisation de variables personnalisées

Utilisez Automation 360 pour créer une variable personnalisée. Il s'agit d'une variable système qui est utilisée comme d'autres variables robot, mais elle est en lecture seule et la valeur est calculée au lieu d'être attribuée.

Annotations obligatoires

Pour créer une variable, les annotations suivantes sont obligatoires :

Annotation Utilisation
BotCommand Utilisez l'annotation BotCommand avec la variable commandType. Cette opération garantit que l'ancien objet Java (POJO) est adapté à la création d'une variable Automation 360.
CommandPkg Ces valeurs sont utilisées lors de la création d'un package. Fournissez un nom, une étiquette et une description à l'annotation.
Idx Annotez tous les paramètres et variables membres qui sont obligatoires et facilitent le contrôle de validation. Éventuellement, ils peuvent être affichés dans l'interface pour être saisis. Fournissez l'index (Idx) et le type.
Pkg Annotez tous les paramètres et variables membres qui seront affichés dans l'interface. Cette annotation est ignorée si elle n'est pas accompagnée de Idx.
VariableExecute La méthode qui doit être appelée pour renvoyer la valeur de variable. Cette méthode n'accepte aucun paramètre d'entrée. Sessions et GlobalSessionContext sont disponibles par injection de setter.

Exemple de cas d'utilisation

Le cas d'utilisation suivant montre comment renvoyer l'heure actuelle pour la zone par défaut du système.

  1. Créez la classe POJO avec la logique métier :
    public class Now {
    	
    	public DateTimeValue now() {
    		Instant instant = Instant.now();
    		ZonedDateTime now = instant.atZone(ZoneId.systemDefault());
    		return new DateTimeValue(now);
    	}
    
    }
  2. Annotez la classe POJO pour l'activer pour la variable Automation 360 et pour créer le package :
    @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. Annotez la méthode now pour indiquer qu'il s'agit de la méthode d'exécution.
    @VariableExecute
    	public DateTimeValue now() {
    		Instant instant = Instant.now();
    		ZonedDateTime now = instant.atZone(ZoneId.systemDefault());
    		return new DateTimeValue(now);
    	}

    Chaque variable doit disposer d'une méthode de test VariableExecute.