Utiliser des variables dans un script Python/HCL

Lorsque vous créez un script Python/HCL dans l'éditeur de script Robots, vous pouvez créer deux types différents de variables :

  • Variables Python Variables Python standard définies dans le corps du script

  • Variables HCL Variables HCL définies dans la fenêtre Variables

Les deux types de variables ont des objectifs différents, présentés dans les sections qui suivent.

HCL affecte également automatiquement des valeurs aux variables système intégrées en fonction de l'organisation Diligent One dans laquelle un script est exécuté, et du mode d'exécution du script (développement ou production). Pour plus d'informations, consultez Méthode system_variable[].

Vous pouvez utiliser les trois types de variables dans le même script.

Variables Python

Les variables Python dans un script Python/HCL fonctionnent de la même manière que dans n'importe quel script Python. Si des valeurs figurant dans un script peuvent évoluer, vous pouvez référencer les variables dans la logique de script plutôt que les valeurs littérales. Vous pouvez créer des variables Python n'importe où dans le script dont vous avez besoin.

Exemple de variables Python

L'exemple ci-dessous effectue une boucle sur une liste de nombres et élève au carré chaque nombre de la liste. Comme les nombres figurant la liste changent, la logique de script utilise des variables plutôt que des valeurs littérales :

  • list_of_numbers : une variable affectée à la liste de nombres

  • v_number : une variable affectée à un seul nombre dans la liste

  • v_squared_number : une variable affectée au résultat de la multiplication de v_number par v_number

À chaque itération de la boucle for, les valeurs des variables v_number et v_squared_number se mettent à jour.

list_of_numbers = [1, 2, 3, 4, 5]
for v_number in list_of_numbers:
    v_squared_number = v_number * v_number
    print(v_squared_number)

Sortie du script :

1
4
9
16
25

Variables HCL

Les deux variables HCL ont deux buts principaux :

  • Elles sont la base des paramètres d'entrée de tâche dans les tâches du robot.

  • Elles stockent de manière sécurisée des informations essentielles telles que mots de passe et des jetons d'authentification.

Dans Robots, aucune de ces conditions requises ne peut être accomplies avec des variables Python. Vous devez utiliser des variables HCL.

La fenêtre Variables

Dans l'éditeur de script Robots, la fenêtre Variables fournit un emplacement centralisé pour définir les variables requises par un script. En particulier, la fenêtre Variables est l'endroit où vous définissez toutes les variables de script stockant les valeurs d'entrée fournies par les utilisateurs lorsqu'ils exécutent ou planifient une tâche du robot. Par exemple :

  • une variable v_department qui permet aux utilisateurs de spécifier un département particulier lorsqu'ils exécutent ou planifient une tâche

  • une variable qui gère de manière sécurisée les informations d'authentification requises pour accéder à une source de données telles qu'un mot de passe ou un jeton

Vous pouvez également utiliser la fenêtre Variables pour définir une variable HCL qui n'est utilisée que dans le contexte du script - par exemple, v_org_id. Cependant, l'approche la plus simple dans cette situation consiste à créer une variable Python standard dans le corps du script plutôt que de définir une variable HCL.

Champs de définition de variables

Numéro Description
1

Nom contient le nom de la variable, comme v_department

2

Type indique le type de variable

3

Valeur la valeur initiale attribuée à la variable lors de l'exécution d'un script de manière interactive dans l'éditeur de script

Champs d'entrée de tâche du robot

Numéro Description
4

Entrée de la tâche spécifie que la variable est utilisée avec un paramètre d'entrée de tâche dans le Concepteur de tâche

  • Entrée utilisateur requise l'utilisateur doit indiquer une valeur d'entrée lors de l'exécution ou de la planification d'une tâche du robot

  • Entrée utilisateur facultative l'utilisateur peut ignorer la saisie d'une valeur d'entrée lors de l'exécution ou de la planification d'une tâche du robot

5

Libellé d'entrée de tâche crée un libellé pour le paramètre d'entrée que l'utilisateur voit dans le Concepteur de tâches, par exemple, Saisir un département

Description de l'entrée de tâche (facultatif) crée une description pour le paramètre d'entrée qui ajoute des détails complémentaires pouvant être utiles à l'utilisateur.

Utiliser la fenêtre Variables pour définir une variable HCL

Définissez une variable HCL, telle que v_department ou v_password, à utiliser avec un paramètre d'entrée de tâche de robot dans le Concepteur de tâche.

Remarque

Le principal but des variables HCL est l'utilisation avec des entrées de tâche du robot telles que des options de configuration de script, des mots de passe ou des jetons. Dans le cas de variables de script non utilisées avec des entrées de tâche, l'approche la plus simple consiste à définir une variable Python standard dans le corps du script.

Créer une définition de variable de base

  1. Dans l'éditeur de scripts Robots, cliquez sur Gérer les variables .

  2. Dans la fenêtre Variables, cliquez sur Ajouter une variable.

  3. Spécifiez les valeurs suivantes pour créer la définition des variables de base :

    Champ Description
    Nom

    Spécifiez le nom de la variable. Par exemple : v_department ou v_password.

    Remarque

    Une variable qui stocke un jeton Diligent One doit utiliser ce nom exact :v_hb_token

    Pour plus d'informations sur l'acquisition d'un jeton Diligent One, consultez Créer et gérer des jetons d'accès HighBond.

    Type

    Sélectionnez le type de variable :

    • Caractère pour le texte

    • Mot de passe pour gérer en toute sécurité les mots de passe ou les jetons

    • Utilisateur système (disponible avec les kits de ressource) pour autoriser les opérations sur la plateforme Diligent One sans référence à un utilisateur réel, semblable à un compte de service

      Attention

      Ne modifiez pas les variables utilisateur sauf si vous avez une raison de le faire.

    Valeur

    Saisissez une valeur de variable. La valeur d'une variable de mot de passe peut avoir une longueur maximale de 8 Ko.

    La valeur que vous saisissez est la valeur initiale attribuée à la variable lors de l'exécution d'un script de manière interactive dans l'éditeur de script.

    Remarque

    Dans le cas d'une variable associée à une entrée de tâche, la valeur est uniquement disponible dans l'éditeur de script. Elle n'est pas reportée comme valeur par défaut dans le Concepteur de tâches.

Configurer un paramètre d'entrée de tâche associé

Si la variable est utilisée avec un paramètre de saisie de tâche dans le Concepteur de tâches, vous devez spécifier des paramètres supplémentaires.

  1. Cliquez sur le bouton à bascule pour activer Entrée de tâche.

    Activez ce paramètre pour demander une valeur à l'utilisateur dans le Concepteur de tâches. La variable stocke la valeur saisie par l'utilisateur lors de l'exécution ou de la planification de la tâche.

  2. Si vous voulez autoriser l'utilisateur à ignorer la saisie d'une valeur d'entrée, sélectionnez Entrée utilisateur facultative.

    Certaines valeurs peuvent altérer le comportement du script, mais peuvent ne pas être requises pour l'exécution du script. Par exemple, des dates de début et de fin facultatives spécifiées par l'utilisateur peuvent limiter l'analyse à une plage particulière de données.

  3. Dans Libellé de l'entrée de la tâche, saisissez le libellé que l'utilisateur verra dans le concepteur de tâches pour ce paramètre.

    Par exemple, Saisir un département ou Saisir votre jeton Diligent One.

  4. Facultatif. Dans Description de l'entrée de tâche, ajoutez une information supplémentaire qui aide l'utilisateur à fournir une valeur d'entrée pour le paramètre.

Enregistrer la définition des variables

  1. Cliquez sur Enregistrer et fermer pour enregistrer la définition de la variable et fermez la fenêtre Variables.

  2. Cliquez sur Enregistrer et transmettre pour enregistrer le script avec la définition de variable mise à jour.

    Remarque

    Vous devez enregistrer et transmettre le script pour enregistrer la définition de variable de manière définitive.

  3. Saisissez un message de transmission, puis cliquez sur Transmettre.

    Un message apparaît pour confirmer que la transmission du script a réussi.

Réexécuter le script

L'enregistrement du contenu de la fenêtre Variables efface automatiquement la mémoire de la session dans l'éditeur de script. Les bibliothèques Python importées, les dictionnaires Python, les cadres de données générés ou les valeurs de variable stockés dans la mémoire ne sont plus disponibles. Si vous exécutez une cellule de script qui dépend d'un élément précédemment stocké en mémoire, vous obtenez une erreur ou un résultat inattendu.

Pour rétablir la mémoire de session dans son état précédent, réexécutez le script entier ou toutes les cellules préalables.

Utiliser une variable HCL dans un script

Pour utiliser une variable HCL dans un script, vous devez référencer la variable à l'aide d'une syntaxe HCL.

Référencer une variable de caractère HCL

Pour référencer une variable de caractère HCL, utilisez la syntaxe suivante : hcl.variable["nom_variable"]

Par exemple :

print(hcl.variable["v_department"])

Sortie du script :

Opérations

Pour en savoir plus sur la syntaxe requise, consultez Méthode variable[].

Référencer une variable de mot de passe HCL

Pour référencer une variable de mot de passe HCL, utilisez la syntaxe suivante : hcl.secret["nom_variable"].unmask()

Par exemple :

print(hcl.secret["v_hb_token"].unmask())

Sortie du script :

zq025f72938e4s...

Pour en savoir plus sur la syntaxe requise, consultez Méthode secret[].

Affecter une variable HCL à une variable Python

Pour des raisons de commodité, vous pouvez affecter une valeur de variable HCL à une variable Python standard et, par la suite, faire simplement référence à la variable Python.

Par exemple :

department = hcl.variable["v_department"]
print(department)
token = hcl.secret["v_hb_token"].unmask()
print(token)

Sortie du script :

Opérations
zq025f72938e4s...