Mise à niveau de Robots vers Python 3.11

Important

Le 26 octobre 2024, la prise en charge de Python 3.8 et des versions antérieures des bibliothèques associées a pris fin pour Robots.

Pour éviter toute perturbation de vos processus automatisés, vous devez vérifier que tous les scripts de production programmés s'exécutent dans l'environnement Python 3.11 de Robots et produisent des résultats corrects.

Les scripts de production ou de développement qui n'ont pas été migrés vers Python 3.11 peuvent encore s'exécuter, mais leur bon fonctionnement ne peut être garanti. Ou bien ils peuvent s'exécuter, mais produire des résultats incorrects.

Diligent is performing a phased upgrade of the version of Python used by Robots. The cloud-based Robots Agent will be upgraded from Python 3.8.x to Python 3.11.x. During a transition period, both versions of Python will be supported by Robots. For details, see Programme de mise à niveau progressive dans Robots.

Cette mise à niveau inclut la mise à jour des bibliothèques associées à Python, y compris les versions 1.2.4 à 2.2.0 de Pandas, et les versions 2.26.0 à 2.31.0 de Requests. Pour une liste des librairies mises à jour dans Robots, consultez Nouvelles versions de Python et des bibliothèques associées.

Si votre organisation utilise des robots HighBond ou des robots de flux de travail, lisez cette rubrique pour en savoir plus sur les conséquences de la mise à niveau. Les clients Robots ne peuvent pas refuser la mise à niveau Python.

La Python Software Foundation a annoncé la fin de vie officielle de Python 3.8 pour le 14 octobre 2024.

Impact pour les clients

Important

Prévoyez assez de temps pour tester tous vos scripts Python/HCL avant le 26 octobre 2024, période à laquelle Python 3.8 ne sera plus disponible dans Robots. Pour éviter toute perturbation au niveau des tâches de robot planifiées, effectuez les mises à jour de scripts nécessaires suffisamment longtemps avant la date limite.

Potentiel de logique de script incompatible.

La mise à niveau vers Python 3.11 peut toucher certains de vos scripts Python/HCL. Si la logique de script qui s’exécute dans Python 3.8 ne s’exécute plus dans Python 3.11, ou s'exécute mais produit des résultats de sortie incorrects, vous devez la mettre à jour.

La manière la plus simple de vérifier si vos scripts existants s’exécutent sans problème dans Python 3.11 consiste à les ouvrir dans l’éditeur de scripts Robots et à essayer de les exécuter. Pour plus d’informations, consultez la section Tester et retransmettre des scripts Python/HCL existants.

Informations d'en-tête de script obsolètes

Les informations d'en-tête dans les scripts Python/HCL spécifient les numéros de version du package HCL (HighBond Command Language), de Python et des bibliothèques associées utilisées par Robots au moment où le script a été validé (enregistré) dans l'éditeur de scripts de Robots. Vous pouvez télécharger n'importe quel script et l'ouvrir dans un éditeur de texte pour consulter les informations d'en-tête.

Les exemples ci-dessous montrent les informations d'en-tête pour les scripts transmis avec des packages HCL précédents et actuels, ainsi que des environnements d'exécution Python.

Versions précédentes :HCL 1.0 and Python 3.8

"environment": {
    "runtime": "python3.8",
    "requirements": ["boxsdk==3.0.1", "openpyxl==3.0.9", "Jinja2==3.0.3", "simple-salesforce==1.11.5", "jira==3.1.1", "hcl==1.0.*"]
}

Versions actuelles :HCL 3.0 and Python 3.11

"environment": {
    "runtime": "python3.11",
    "requirements": ["boxsdk==3.9.2", "openpyxl==3.1.2", "Jinja2==3.1.3", "simple-salesforce==1.12.5", "jira==3.8.0", "hcl==3.0.*"],
    "showCommitToastMessage": true
}

Problèmes avec des scripts obsolètes

Les scripts avec des informations d'en-tête obsolètes peuvent s'exécuter dans HCL 3.0 et l'environnement d'exécution Python 3.11. Cependant, vous devriez mettre à jour les scripts dès que possible pour éviter les problèmes suivants :

  • Les scripts peuvent échouer Un script transmis sous Python 3.8 et des versions plus anciennes des bibliothèques associées peut contenir du code obsolète qui entraîne l'échec du script sous Python 3.11.

  • Les scripts peuvent produire des résultats incorrects Un script peut s'exécuter, mais les résultats peuvent ne pas correspondre à ceux produits dans l'environnement d'exécution Python 3.8.

  • Warning notifications appear Until a script's header information is updated, warning notifications in the Robots user interface appear with the script, and with the robot that contains the script. For more information, see Notifications d'avertissement dans l'interface utilisateur de Robots.

  • L'activation est interdite Avant que l'en-tête d'un script ne soit mis à jour, il est interdit de passer le script du mode de développement au mode de production.

Comment mettre à jour un script

Pour mettre à jour un script vers la version actuelle de HCL et Python, veuillez suivre la procédure suivante :

  1. Ouvrez le script dans l'éditeur de script de Robots exécutez-le.

  2. Procédez aux mises à jour nécessaires à la logique du script.

  3. Enregistrer et transmettre le script.

    Transmettre le script met à jour son en-tête vers les versions actuelles de HCL, Python et les librairies associées.

  4. Si le script est utilisé dans un robot de production, activez-le pour le mettre à jour dans le mode de production.

Pour obtenir des informations détaillées sur les étapes, voir Tester et retransmettre des scripts Python/HCL existants.

Notifications d'avertissement dans l'interface utilisateur de Robots

Dans l'interface utilisateur de Robots, plusieurs notifications d'avertissement s'affichent pour vous alerter des versions des robots et des scripts encore associées à Python 3.8.

Les notifications d'avertissement disparaissent d'une version de robot et de script une fois que vous avez retransmis et réactivé le script sous l'environnement d'exécution Python 3.11.

  • Tableau de bord Robots Lorsque vous accédez au tableau de bord de Robots, une table contenant tous les robots s'affiche avec un script de production actuel qui a été engagé et activé sous l'environnement d'exécution Python 3.8.

  • Robots individuels sur le tableau de bord Une icône d'avertissement s'affiche sur des robots individuels HighBond ou Workflow avec un script de production actuel qui a été engagé et activé sous l'environnement d'exécution Python 3.8.

  • Versions de script individuel Dans le mode développement, un message d'avertissement s'affiche avec une version de script qui a été engagée sous l'environnement d'exécution Python 3.8.

Tester et retransmettre des scripts Python/HCL existants

Pour vous assurer que les scripts Python/HCL existants de votre organisation soient prêts pour la transition vers Python 3.11, testez-les et retransmettez-les dans l'éditeur de script Python.

Ouvrir un script existant dans l’éditeur de scripts

  1. Depuis la page d'accueil de la Barre de lancement (www.highbond.com), cliquez sur l'application Robots pour l'ouvrir.

    Si vous êtes déjà dans Diligent One, vous pouvez utiliser le menu de navigation situé à gauche pour basculer vers l’application Robots.

  2. Dans le tableau de bord Robots, sélectionnez l’onglet correspondant au type de robot approprié :

    • Robots HighBond

    • Robots de flux de travail

  3. Accédez à un robot et sélectionnez-le pour l’ouvrir.

  4. Dans le coin supérieur droit du robot, cliquez sur Développement pour passer en mode développement.

  5. Dans l'onglet Versions du script, sélectionnez la version du script à tester.

    Généralement, vous devez sélectionner la version du script qui a été activée en mode production. Si aucune version n'a été activée, sélectionnez la plus récente, sauf si vous avez une raison d'en sélectionner une autre.

  6. Dans le panneau Détails sur version, cliquez sur Modifier un script ou Éditer.

    L'éditeur de scripts Robots lance le processus de démarrage et charge l'environnement d'exécution Python 3.11.

Exécuter le script pour le tester

Exécutez le script pour tester s'il est compatible avec l'environnement d'exécution Python 3.11.

  1. Une fois le processus de démarrage terminé, exécutez le script pour le tester.

  2. Si le script s'exécute correctement, examinez les résultats de sortie pour vous assurer qu'ils sont corrects.

    Si le script s'exécute correctement jusqu'à la fin, et que les résultats de sortie sont corrects, cela signifie qu'il est compatible avec Python 3.11 et ses librairies associées. Il n’est pas nécessaire de continuer à tester le script. Vous pouvez enregistrer et transmettre le script pour l'associer à HCL 3.0 et à l'environnement d'exécution Python 3.11. Consultez la rubrique Enregistrer et transmettre le script.

  3. Si le script échoue, ou si les résultats de sortie sont incorrects, mettez à jour la logique du script pour traiter le problème.

    Remarque

    Script failure, or incorrect output, may or may not be related to the Python upgrade in Robots. For more information, see Conseils pour les développeurs de scripts Robots.

Enregistrer et transmettre le script

  1. Dans la barre d'outils de l'éditeur de scripts, cliquez sur Enregistrer et transmettre.

  2. Saisissez un message de transmission parlant pour décrire vos modifications.

    Astuce

    Il peut être utile d'ajouter « S'exécute dans Python 3.11 » dans le message de transmission.

  3. Facultatif. Sélectionnez Enregistrer la sortie du script dans le fichier journal d'exécution de la tâche.

    Quand vous exécutez un script à l'aide d'une tâche de robot, cette option enregistre l'intégralité de la sortie du script dans un fichier journal. Il peut être utile d'examiner la sortie enregistrée quand vous développez et dépannez des scripts. Pour plus d’informations, consultez la section Enregistrer une sortie de script dans un fichier journal.

  4. Cliquez sur Transmettre pour enregistrer et transmettre le script.

    Le message Votre script a été transmis avec succès apparaît.

  5. Dans l'en-tête de la page, cliquez sur le nom du robot.

    Vous êtes renvoyé à l'onglet Versions du script du robot. Chaque fois que vous enregistrez et transmettez un script, la version enregistrée est ajoutée à cet onglet.

  6. Facultatif. Vérifiez que le script est associé à l'environnement d'exécution Python 3.11 :

    1. Sélectionnez la version du script que vous venez d'enregistrer.

    2. Dans le panneau Détails sur version, cliquez sur Télécharger.

      Le script est téléchargé sur votre ordinateur.

    3. Ouvrez le script dans un éditeur de texte.

      L'environnement d'exécution Python apparaît en haut du script :

      "runtime":"python3.11"
  7. Si le script est utilisé dans un robot de production, réactivez-le pour le mettre à jour dans le mode de production :

    1. Sélectionnez la version du script que vous venez d'enregistrer.

    2. Dans le panneau Détails sur version, cliquez sur Activer.

    3. Saisissez un commentaire dans l'historique de version afin d'expliquer pourquoi vous réactiver ce script.

    4. Cliquez sur Activer numéro_de_version.

      La version du script est activée et mise à jour dans le mode de production.

Programme de mise à niveau progressive dans Robots

La table ci-dessous fournit des dates et des détails pour la mise à niveau progressive de Python et des librairies associées dans Robots.

Date estimée Éléments affectés Détails

26 octobre 2024

Robots HighBond

Robots de flux de travail

Tous les scripts

Inclut les scripts non modifiés dans les tâches planifiées

  • S'exécutent dans Python 3.11 avec les nouvelles bibliothèques (Pandas 2.2.0, Requests 2.31.0 et autres librairies mises à jour). Aucune autre option possible.

Important

Les scripts de production ou de développement qui n'ont pas été migrés vers Python 3.11 peuvent encore s'exécuter, mais leur bon fonctionnement ne peut être garanti. Ou bien ils peuvent s'exécuter, mais produire des résultats incorrects.

Ces scripts doivent être testés et retransmis dans l'éditeur de script de Robots afin de les associer avec Python 3.11. Les scripts de production doivent être réactivés dans le mode de production. Pour plus d’informations, consultez la section Tester et retransmettre des scripts Python/HCL existants.

14 octobre 2024 Python 3.8

La Python Software Foundation a annoncé la fin de vie officielle de Python 3.8 pour le 14 octobre 2024. Consultez cette page relative au statut des versions Python.

Une fois qu'une version de Python atteint sa fin de vie, l'équipe de développement Python ne corrige plus les nouvelles failles de sécurité signalées pour cette version.

12 juillet 2024

Robots HighBond

Robots de flux de travail

Script existant créé avant la mise à niveau Python dans Robots

  • Si il a été activé en amont dans le mode de production, il apparaît dans une table listant tous les robots avec un script de production Python 3.8 sur le tableau de bord de Robots.

  • Une icône d'avertissement s'affiche sur les robots individuels avec un script de production Python 3.8. L'icône d'avertissement disparait une fois que vous avez retransmis et réactivé le script sous l'environnement d'exécution Python 3.11.

  • Dans les tâches planifiées, continue à s'exécuter dans Python 3.8, tant que le script n'est pas modifié.

4 juillet 2024

Robots HighBond

Robots de flux de travail

Tous les scripts

  • Les scripts Python 3.8 ou 3.11 associés avec des librairies anciennes (Pandas 1.2.4, Requests 2.26.0) ne peuvent pas être déclassés, téléchargés ou activés. De plus, les scripts incompatibles avec Python 3.11 ou HCL 3.0. ne peuvent pas être chargés ou activés via des API ou des kits de ressources.

Script existant créé avant la mise à niveau Python dans Robots

  • Dans les tâches planifiées, continue à s'exécuter dans Python 3.8, tant que le script n'est pas modifié.

4 avril 2024 Robots de flux de travail
  • Mise à niveau initiale vers Python 3.11

Script récemment créé

  • S'exécute sous la dernière version de Python avec les bibliothèques correspondantes (Python 3.11, Pandas 2.2.0 et Requests 2.31.0). Aucune autre option possible.

Script existant créé avant la mise à niveau Python dans Robots

  • Dans les tâches planifiées, continue à s'exécuter dans Python 3.8, tant que le script n'est pas modifié.

  • S'il est ouvert dans l'éditeur de scripts Robots, s'exécute par défaut dans Python 3.11. Jusqu'à la fin du mois de juin 2024, l'éditeur de scripts vous offre la possibilité de déclasser manuellement les scripts existants afin qu'ils s'exécutent dans Python 3.8.

4 avril 2024 Robots HighBond

Script récemment créé

  • S'exécute sous la dernière version de Python avec les bibliothèques correspondantes (Python 3.11, Pandas 2.2.0 et Requests 2.31.0). Aucune autre option possible.

Script existant créé avant la mise à niveau Python dans Robots

  • Dans les tâches planifiées, continue à s'exécuter dans Python 3.8, tant que le script n'est pas modifié.

  • En cas d'ouverture dans l'éditeur de scripts Robots, s'exécute par défaut dans la dernière version de Python avec les bibliothèques correspondantes (Python 3.11, Pandas 2.2.0 et Requests 2.31.0). Jusqu'à la fin du mois de juin 2024, l'éditeur de scripts vous offre la possibilité de déclasser manuellement les scripts existants afin qu'ils s'exécutent dans Python 3.8.

Script mis à niveau vers Python 3.11 après décembre 2023

  • Dans les tâches planifiées, continue à s'exécuter dans Python 3.8 avec les anciennes bibliothèques (Pandas 1.2.4, Requests 2.26.0), tant que le script n'est pas modifié.

  • En cas d'ouverture dans l'éditeur de scripts Robots, s'exécute par défaut dans la dernière version de Python avec les bibliothèques correspondantes (Python 3.11, Pandas 2.2.0 et Requests 2.31.0). Jusqu'à la fin du mois de juin 2024, l'éditeur de scripts vous offre la possibilité de déclasser manuellement les scripts existants afin qu'ils s'exécutent dans Python 3.11 avec d'anciennes librairies (Pandas 1.2.4, Requests 2.26.0).

Mi-décembre 2023 Robots HighBond
  • Mise à niveau initiale vers Python 3.11

Script récemment créé

  • S'exécute dans Python 3.11, Pandas 1.2.4 et Requests 2.26.0. Aucune autre option possible.

Script existant créé avant la mise à niveau Python dans Robots

  • Dans les tâches planifiées, continue à s'exécuter dans Python 3.8, tant que le script n'est pas modifié.

  • S'il est ouvert dans l'éditeur de scripts Robots, s'exécute par défaut dans Python 3.11. Pendant une durée limitée, l'éditeur de scripts vous offre la possibilité de déclasser manuellement les scripts existants afin qu'ils s'exécutent dans Python 3.8.

Nouvelles versions de Python et des bibliothèques associées

Le tableau ci-dessous répertorie les versions actuelles et précédentes de Python et des bibliothèques associées prises en charge par Robots. Consultez les ressources liées pour en savoir plus sur les changements spécifiques dans les nouvelles versions.

Version actuellement prise en charge Version précédemment prise en charge

Python 3.11

Nouveautés de Python 3.11

Python 3.8

Pandas 2.2.0

Nouveautés de Pandas 2.2.0

Pandas 1.2.4

Requêtes 2.31.0

Notes de version de Requêtes 2.31.0

Requests 2.26.0

NumPy >= 1.23.3

Notes de version de NumPY 1.23.3

NumPy 1.16.5

Cryptography >= 39.0.0

Journal des changements de Cryptography >= 39.0.0

Cryptography 3.4.7

Boxsdk 3.9.2

Notes de version de Boxsdk 3.9.2

Boxsdk 3.0.1

Openpyxl 3.1.2

Notes de version de Openpyxl 3.1.2

Openpyxl 3.0.9

Jinja 3.1.3

Notes de version de Jinja 3.1.3

Jinja 3.1.3

Simple-salesforce 1.12.5

Notes de version de Simple-Salesforce 1.12.5

Simple-salesforce 1.12.5

Jira 3.8.0

Notes de version Jira 3.8.0

Jira 3.1.1

Conseils pour les développeurs de scripts Robots

Les informations détaillées sur les changements dans les versions de Python et des bibliothèques associées dans HCL 3.0 dépassent le cadre de ce sujet d'aide. Quelques conseils généraux sont fournis ci-dessous. Pour des informations détaillées, commencez par consulter les ressources liées ci-dessus.

Échec du script non associé à la mise à niveau de Python

L'échec d'un script Robots peut ou non être causé par la mise à niveau de Python dans Robots de la version 3.8 à 3.11. Par exemple :

  • L'échec du script avec un code de statut 401 (Non autorisé) est probablement causé par un problème avec le jeton d'accès HighBond spécifié par le script. Pour plus d'informations, consultez la rubrique Gérer des jetons d’accès .

  • L'échec du script avec un code de statut 404 (Non trouvé) peut être causé par une affectation de variable manquante ou incorrecte dans le script. Pour plus d'informations, consultez la rubrique Utiliser des variables dans un script Python/HCL.

Échec du script, ou sortie incorrecte, potentiellement associée à la mise à niveau de Python

Si un script programmé s'exécutait avec succès puis échoue lors de la dernière semaine d'octobre 2024, l'échec est probablement lié à la mise à niveau de Python et de ses bibliothèques associées. Il en va de même si un script continue de s'exécuter avec succès mais commence à produire des résultats incorrects ou inattendus.

  • Fonctions et méthodes obsolètes Une fonction ou méthode obsolète dans Python, Pandas, ou l'une des autres bibliothèques associées peut être la cause du problème. Exécutez le script échoué dans l'éditeur de scripts Robots et examinez attentivement les messages d'erreur renvoyés par le script. Essayez d'utiliser l'assistant IA de script pendant le dépannage.

  • Versions intermédiaires multiples Plusieurs versions intermédiaires de Python, Pandas et d'autres bibliothèques associées ont été publiées entre les versions utilisées dans les packages HCL 1.0 et HCL 3.0. Vous devrez peut-être examiner les informations associées à plusieurs versions d'une bibliothèque pour identifier la source d'un problème.

  • Changements incompatibles de Pandas Certains des changements introduits par les versions successives de la bibliothèque Pandas peuvent provoquer l'échec des scripts HCL 1.0 dans Robots. Ces changements incluent, sans s'y limiter, les éléments ci-dessous.

    • append() – méthode obsolète

    • astype() – changement de comportement

    • groupby() – changement de comportement de l'opération

    • read_csv() – changements de paramètres

    • split() – changements de paramètres

    • str.replace() – changement de paramètre