Version v.29 du SDK du package

Passez en revue les nouveautés dans la version v.29 du SDK du package Automation 360.

Nouveautés

Lien de téléchargement du SDK : A360-package-sdk-2.8.0.zip
Attribut return_Direct

Un nouvel attribut return_Direct= true est ajouté au niveau de l'action. Il n'affiche qu'une seule option pour sélectionner la variable de type enregistrement.

Par exemple :

@BotCommand
@CommandPkg(
        return_label = "[[AddColumn.return_label]]",        
        node_label = "[[AddColumn.node_label]]",
        label = "[[AddColumn.label]]",        
        description = "[[AddColumn.description]]",        
        name = "addColumn",        
        icon = "record.svg",        
        return_type = DataType.RECORD,        
        return_Direct = true,        
        return_required = true,        
        minimum_controlroom_version = "17917",        
        minimum_botagent_version = "21.134",        
        documentation_url = RECORD_ADD_COLUMN_URL,        
        documentation_widget_page = RECORD_ADD_COLUMN_WIDGET,        
        allowed_Agent_Targets = AllowedTarget.HEADLESS)
Attribut OAUTHCONNECTION

Un nouveau type d'attribut, OAUTHCONNECTION, est ajouté pour obtenir un jeton d'accès à partir de la valeur de connexion OAuth préconfigurée de la Control Room.

Par exemple :

@Idx(index = "1", type = AttributeType.OAUTHCONNECTION)
@Pkg(label = "[[OAuthConnectionTypeDemo.connection.label]]")
OAuthConnection connection
Une nouvelle règle VariableMapAllowedDataTypes est ajoutée à VARIABLEMAP

VariableMapAllowedDataTypes permet de filtrer l'interface utilisateur pour un type de variable particulier. VariableMap est un contrôle qui vous permet d'ajouter une sélection de variables pour n'importe quelle action (dans l'interface utilisateur de l'éditeur de robots). Le filtre VariableMapAllowedDataTypes permet de restreindre le type de données des variables pouvant être utilisées dans une action. Par exemple, si vous définissez VariableMapAllowedDataTypes sur String, seules les variables de type chaîne figurent dans une action.


@Idx(index = "4", type = VARIABLEMAP)
        @Pkg(label = "[[LogVariables.selectVariable.label]]")
        @NotEmpty
        @VariableType(DataType.VARIABLEMAP)
        @VariableMapAllowedDataTypes({
            DataType.STRING,
            DataType.NUMBER,
            DataType.BOOLEAN,
            DataType.DATETIME
        })
        Map<String, Value> variables
Annotation @DesktopOperationContext

La nouvelle annotation @DesktopOperationContext permet d'injecter DesktopOperationContext dans DesktopOperation, comme pour GlobalSessionContext.

Cette annotation est appliquée à la propriété avec la méthode du setter pour que le fichier généré puisse définir DesktopOperationContext dans le fichier cible.

En injectant DesktopOperationContext, la propriété suivante peut être accessible dans DesktopOperation à partir de GlobalSessionContext :

  1. getUserToken
  2. getCrUrl
  3. resolveResource
  4. getExternalEnvironment
  5. getProxyConfig
  6. botId
  7. getResources

@BotCommand(commandType = BotCommand.CommandType.DESKTOP_OPERATION_BUTTON)
@CommandPkg(name = "RESTRecorder", desktop_operation_name = "RESTRecorder")
public class RecorderOperation {

    private static final Logger LOGGER = LogManager.getLogger(RecorderOperation.class);

    @Request private DesktopOperationButtonRequest request;

    @DesktopOperationContext    private com.automationanywhere.toolchain.runtime.operation.context.DesktopOperationContext context;

    public void setRequest(DesktopOperationButtonRequest request) {
        this.request = request;
    }

    public void setContext(
            com.automationanywhere.toolchain.runtime.operation.context.DesktopOperationContext                    context) {
        this.context = context;
    }