Robots-Upgrade auf Python 3.11

Wichtig

Am 26. Oktober 2024 endete die Unterstützung von Robots für Python 3.8 und ältere Versionen der zugehörigen Bibliotheken.

Um eine mögliche Unterbrechung Ihrer automatisierten Prozesse zu vermeiden, sollten Sie überprüfen, ob alle geplanten Produktionsskripts in der Python 3.11-Umgebung von Robots ausgeführt werden und eine korrekte Ausgabe erzeugen.

Produktions- oder Entwicklungsskripts, die nicht auf Python 3.11 umgestellt wurden, können möglicherweise noch ausgeführt werden, dies kann jedoch nicht garantiert werden. Oder sie werden ausgeführt, liefern aber falsche Ergebnisse.

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 Zeitplan für das schrittweise Upgrade in Robots.

Das Upgrade beinhaltet auch die Aktualisierung einer Reihe von Bibliotheken, die mit Python verbunden sind, darunter Pandas (von Version 1.2.4 auf 2.2.0) und Requests (von Version 2.26.0 auf 2.31.0). Eine Liste der in Robots aktualisierten Bibliotheken finden Sie unter Neue Versionen von Python und zugehörigen Bibliotheken.

Wenn Ihre Organisation HighBond-Robots oder Workflow-Robots verwendet, lesen Sie diese Informationen zu den Auswirkungen des Upgrades. Robots-Kunden können das Python-Upgrade nicht umgehen.

Die Python Software Foundation hat angekündigt, dass Python 3.8 am 14. Oktober 2024 offiziell eingestellt wird.

Auswirkungen auf Kunden

Wichtig

Planen Sie ausreichend Zeit ein, um alle Ihre Python/HCL-Skripte vor dem 26. Oktober 2024 zu testen, wenn Python 3.8 nicht mehr mit Robots verwendet werden kann. Damit geplante Robot-Aufgaben nicht unterbrochen werden, nehmen Sie eventuell erforderliche Skriptaktualisierungen rechtzeitig vor dem Endtermin vor.

Potenzial für inkompatible Skriptlogik

Einige Ihrer Python/HCL-Skripte könnten vom Upgrade auf Python 3.11 betroffen sein. Wenn Skriptlogik, die in Python 3.8 funktioniert, in Python 3.11 nicht mehr ausgeführt wird oder ausgeführt wird, aber falsche Ausgabeergebnisse liefert, müssen Sie die Skriptlogik aktualisieren.

Um zu prüfen, ob Ihre vorhandenen Skripte in Python 3.11 problemlos laufen, testen Sie diese am besten im Robots-Skript-Editor. Weitere Informationen finden Sie unter Vorhandene Python-/HCL-Skripts testen und erneut übermitteln.

Veraltete Informationen in der Skriptkopfzeile

Die Kopfzeileninformationen in Python/HCL-Skripts geben die Versionsnummern des HCL-Pakets (HighBond Command Language), von Python und der zugehörigen Bibliotheken an, die von Robots zum Zeitpunkt der Übermittlung (Speicherung) des Skripts im Robots-Skript-Editor verwendet wurden. Sie können jedes Skript herunterladen und in einem Texteditor öffnen, um die Kopfzeileninformationen zu sehen.

Die folgenden Beispiele zeigen Kopfzeileninformationen für Skripts, die mit früheren und aktuellen HCL-Paketen und Python-Laufzeitumgebungen übermittelt wurden.

Bisher: HCL 1.0 und 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.*"]
}

Aktuell: HCL 3.0 und 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
}

Probleme mit veralteten Skripts

Skripts mit veralteten Kopfzeileninformationen können in HCL 3.0 und der Python 3.11-Laufzeitumgebung ausgeführt werden. Sie sollten die Skripts jedoch so schnell wie möglich aktualisieren, um die folgenden Probleme zu vermeiden:

  • Skripts können fehlschlagen Ein Skript, das unter Python 3.8 und älteren Versionen der zugehörigen Bibliotheken erstellt wurde, kann veralteten Code enthalten, der dazu führt, dass das Skript in Python 3.11 fehlschlägt.

  • Skripte können falsche Ergebnisse erzeugen Ein Skript kann ausgeführt werden, aber die Ausgabe entspricht möglicherweise nicht der Ausgabe, die in der Python 3.8-Laufzeitumgebung erzeugt wird.

  • 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 Warnmeldungen in der Benutzeroberfläche von Robots.

  • Aktivierung ist untersagt Solange die Kopfzeileninformationen eines Skripts nicht aktualisiert sind, dürfen Sie das Skript nicht vom Entwicklungs- in den Produktionsmodus aktivieren.

So aktualisieren Sie ein Skript

Gehen Sie wie folgt vor, um ein Skript auf die aktuelle Version von HCL und Python zu aktualisieren:

  1. Öffnen Sie das Skript im Robots-Skript-Editor und führen Sie es aus.

  2. Nehmen Sie alle erforderlichen Aktualisierungen an der Skriptlogik vor.

  3. Speichern und übermitteln Sie das Skript.

    Durch das Ausführen des Skripts wird die Skriptkopfzeile auf die aktuellen Versionen von HCL, Python und den zugehörigen Bibliotheken aktualisiert.

  4. Wenn das Skript in einem Robot im Produktionsmodus verwendet wird, aktivieren Sie das Skript, um es im Produktionsmodus zu aktualisieren.

Ausführliche Schritte, siehe Vorhandene Python-/HCL-Skripts testen und erneut übermitteln.

Warnmeldungen in der Benutzeroberfläche von Robots

In der Benutzeroberfläche von Robots werden mehrere Warnmeldungen angezeigt, die Sie auf Robots und Skriptversionen hinweisen, die noch mit Python 3.8 verknüpft sind.

Die Warnmeldungen für Robots und Skriptversionen verschwinden, sobald Sie das Skript erneut in der Python 3.11-Laufzeitumgebung übermitteln und aktivieren.

  • Robots-Dashboard Wenn Sie auf das Robot-Dashboard zugreifen, wird eine Tabelle mit allen Robots mit einem aktuellen Produktionsskript angezeigt, das unter der Python 3.8-Laufzeitumgebung übermittelt und aktiviert wurde.

  • Einzelne Robots auf dem Dashboard Auf einzelnen HighBond- oder Workflow-Robots mit einem aktuellen Produktionsskript, das unter der Python 3.8-Laufzeitumgebung übermittelt und aktiviert wurde, wird ein Warnsymbol angezeigt.

  • Einzelne Skriptversionen Im Entwicklungsmodus wird eine Warnmeldung bei jeder Skriptversion angezeigt, die unter der Python 3.8-Laufzeitumgebung übermittelt wurde.

Vorhandene Python-/HCL-Skripts testen und erneut übermitteln

Um sicherzustellen, dass die vorhandenen Python-/HCL-Skripts Ihrer Organisation für die Umstellung auf Python 3.11 bereit sind, testen Sie sie im Robots-Skript-Editor und übermitteln Sie sie erneut.

Neues oder bestehendes Skript im Skript-Editor öffnen

  1. Wählen Sie auf der Launchpad-Startseite (www.highbond.com) die App Robots aus, um sie zu öffnen.

    Wenn Sie sich bereits in Diligent One befinden, können Sie über das linke Navigationsmenü zur Robots-App wechseln.

  2. Wählen Sie im Dashboard in Robots die Registerkarte für den entsprechenden Robot-Typ aus:

    • HighBond-Robots

    • Workflow-Robots

  3. Navigieren Sie zu einem Robot und wählen Sie den Robot aus, um ihn zu öffnen.

  4. Klicken Sie in der oberen rechten Ecke des Robots auf Entwicklung, um in den Entwicklermodus zu wechseln.

  5. Wählen Sie auf der Registerkarte Skriptversionen die Version des Skripts aus, die Sie testen möchten.

    In der Regel sollten Sie hier die Version des Skripts auswählen, die für den Produktionsmodus aktiviert wurde. Wenn keine Version aktiviert wurde und keine bestimmte Version zu bevorzugen ist, wählen Sie die neueste Skriptversion aus.

  6. Klicken Sie im Bereich Versionsdetails auf Skript bearbeiten oder Bearbeiten.

    Der Robots-Skript-Editor wird gestartet und lädt die Python 3.11-Laufzeitumgebung.

Skript ausführen und testen

Führen Sie das Skript aus, um zu testen, ob es mit der Python 3.11-Laufzeitumgebung kompatibel ist.

  1. Wenn der Startprozess des Skript-Editors abgeschlossen ist, führen Sie das Skript aus, um es zu testen.

  2. Wenn das Skript erfolgreich ausgeführt wird, überprüfen Sie alle Ausgabeergebnisse, um sicherzustellen, dass sie korrekt sind.

    Wenn das Skript erfolgreich ausgeführt wird und die Ausgabeergebnisse korrekt sind, ist das Skript mit Python 3.11 und den zugehörigen Bibliotheken kompatibel. Dann sind keine weiteren Tests des Skripts erforderlich. Sie können das Skript speichern und übermitteln, um es mit HCL 3.0 und der Python 3.11-Laufzeitumgebung zu verknüpfen. Siehe Skript speichern und übermitteln.

  3. Wenn das Skript fehlschlägt oder die Ausgabeergebnisse falsch sind, aktualisieren Sie die Skriptlogik, um das Problem zu beheben.

    Hinweis

    Script failure, or incorrect output, may or may not be related to the Python upgrade in Robots. For more information, see Leitfaden für Robots-Skriptentwickler.

Skript speichern und übermitteln

  1. Klicken Sie in der Symbolleiste des Skript-Editors auf Speichern und übermitteln.

  2. Geben Sie eine aussagekräftige Übermittlungsnachricht ein, um Ihre Änderungen zu beschreiben.

    Tipp

    Es könnte sich anbieten, „Wird in Python 3.11 ausgeführt“ in der Übermittlungsnachricht hinzuzufügen.

  3. Optional. Wählen Sie Skriptausgabe in der Protokolldatei der Aufgabenausführung speichern.

    Wenn Sie ein Skript mit einer Robot-Aufgabe ausführen, speichert diese Option die gesamte Skriptausgabe in einer Protokolldatei. Die gespeicherte Ausgabe kann zu Prüfzwecken bei der Entwicklung von Fehlerbehebung von Skripten hilfreich sein. Weitere Informationen finden Sie unter Skriptausgabe in einer Protokolldatei speichern.

  4. Klicken Sie auf Übermitteln, um das Skript zu speichern und zu übermitteln.

    Die Meldung Ihr Skript wurde erfolgreich übermittelt wird angezeigt.

  5. Klicken Sie in der Seitenkopfzeile auf den Namen des Robots.

    Sie gelangen wieder zur Registerkarte Skriptversionen im Robot. Jedes Mal, wenn Sie ein Skript speichern und übermitteln, wird die gespeicherte Version dieser Registerkarte hinzugefügt.

  6. Optional. Stellen Sie sicher, dass das Skript mit der Python 3.11-Laufzeitumgebung verknüpft ist:

    1. Wählen Sie die gerade gespeicherte Skriptversion aus.

    2. Klicken Sie im Bereich Versionsdetails auf Herunterladen.

      Das Skript wird auf Ihren Computer heruntergeladen.

    3. Öffnen Sie das Skript in einem Texteditor.

      Die zugehörige Python-Laufzeitumgebung wird oben im Skript angezeigt:

      "runtime":"python3.11"
  7. Wenn das Skript in einem Robot im Produktionsmodus verwendet wird, reaktivieren Sie das Skript, um es im Produktionsmodus zu aktualisieren:

    1. Wählen Sie die gerade gespeicherte Skriptversion aus.

    2. Klicken Sie im Bereich Versionsdetails auf Aktivieren.

    3. Geben Sie einen Kommentar in den Versionsverlauf ein, um zu erklären, warum Sie das Skript reaktivieren.

    4. Klicken Sie auf Versionsnummer aktivieren.

      Die Skriptversion wird im Produktionsmodus aktiviert und aktualisiert.

Zeitplan für das schrittweise Upgrade in Robots

Die folgende Tabelle enthält Daten und Details für das schrittweise Upgrade von Python und den zugehörigen Bibliotheken in Robots.

Voraussichtliches Datum Betroffener Bereich Details

26. Oktober 2024

HighBond-Robots

Workflow-Robots

Alle Skripts

Umfasst unbearbeitete Skripts in geplanten Aufgaben

  • Werden in Python 3.11 mit den neuen Bibliotheken (Pandas 2.2.0, Requests 2.31.0 und andere aktualisierte Bibliotheken) ausgeführt. Keine andere Option verfügbar.

Wichtig

Produktions- oder Entwicklungsskripts, die nicht auf Python 3.11 umgestellt wurden, können möglicherweise noch ausgeführt werden, dies kann jedoch nicht garantiert werden. Oder sie werden ausgeführt, liefern aber falsche Ergebnisse.

Diese Skripts müssen getestet und im Robots-Skript-Editor erneut übermittelt werden, um sie mit Python 3.11 zu verknüpfen. Produktionsskripts müssen in den Produktionsmodus reaktiviert werden. Weitere Informationen finden Sie unter Vorhandene Python-/HCL-Skripts testen und erneut übermitteln.

14. Oktober 2024 python3.8

Die Python Software Foundation hat angekündigt, dass Python 3.8 am 14. Oktober 2024 offiziell eingestellt wird. Siehe Status von Python-Versionen.

Sobald eine Version von Python das Ende ihres Lebenszyklus erreicht hat, behebt das Python-Entwicklungsteam keine neuen Sicherheitslücken mehr, die für diese Version gemeldet werden.

12. Juli 2024

HighBond-Robots

Workflow-Robots

Vorhandenes Skript, das vor dem Python-Upgrade in Robots erstellt wurde

  • Wenn zuvor im Produktionsmodus aktiviert, erscheint es in einer Tabelle auf dem Robots-Dashboard, in der alle Robots mit einem Python 3.8-Produktionsskript aufgeführt sind.

  • Auf einzelnen Robots mit einem Python 3.8-Produktionsskript wird ein Warnsymbol angezeigt. Das Symbol verschwindet, sobald Sie das Skript erneut in der Python 3.11-Laufzeitumgebung übermitteln und aktivieren.

  • Wird in geplanten Aufgaben weiterhin in Python 3.8 ausgeführt, wenn das Skript nicht bearbeitet wird.

4. Juli 2024

HighBond-Robots

Workflow-Robots

Alle Skripts

  • Python 3.8- oder 3.11-Skripts, die mit alten Bibliotheken (Pandas 1.2.4, Requests 2.26.0) verknüpft sind, können nicht manuell herabgestuft, hochgeladen oder aktiviert werden. Außerdem können Skripts, die nicht mit Python 3.11 oder HCL 3.0 kompatibel sind, nicht hochgeladen oder über APIs oder Toolkits aktiviert werden.

Vorhandenes Skript, das vor dem Python-Upgrade in Robots erstellt wurde

  • Wird in geplanten Aufgaben weiterhin in Python 3.8 ausgeführt, wenn das Skript nicht bearbeitet wird.

4. April 2024 Workflow-Robots
  • Erstes Upgrade auf Python 3.11

Neu erstelltes Skript

  • Läuft unter der aktuellen Python-Version mit den entsprechenden Bibliotheken (Python 3.11, Pandas 2.2.0 und Requests 2.31.0). Keine andere Option verfügbar.

Vorhandenes Skript, das vor dem Python-Upgrade in Robots erstellt wurde

  • Wird in geplanten Aufgaben weiterhin in Python 3.8 ausgeführt, wenn das Skript nicht bearbeitet wird.

  • Wenn Sie ein Skript im Robots-Skript-Editor öffnen, wird es standardmäßig in Python 3.11 ausgeführt. Bis Ende Juni 2024 bietet der Skript-Editor die Möglichkeit, vorhandene Skripts manuell auf Python 3.8 herabzustufen.

4. April 2024 HighBond-Robots

Neu erstelltes Skript

  • Läuft unter der aktuellen Python-Version mit den entsprechenden Bibliotheken (Python 3.11, Pandas 2.2.0 und Requests 2.31.0). Keine andere Option verfügbar.

Vorhandenes Skript, das vor dem Python-Upgrade in Robots erstellt wurde

  • Wird in geplanten Aufgaben weiterhin in Python 3.8 ausgeführt, wenn das Skript nicht bearbeitet wird.

  • Läuft standardmäßig unter der aktuellen Python-Version mit den entsprechenden Bibliotheken (Python 3.11, Pandas 2.2.0 und Requests 2.31.0), wenn es im Robots-Skript-Editor geöffnet wird. Bis Ende Juni 2024 bietet der Skript-Editor die Möglichkeit, vorhandene Skripts manuell auf Python 3.8 herabzustufen.

Skript, das nach Dezember 2023 auf Python 3.11 aktualisiert wurde

  • Wird in geplanten Aufgaben weiterhin in Python 3.11 mit den alten Bibliotheken (Pandas 1.2.4 und Requests 2.26.0) ausgeführt, wenn das Skript nicht bearbeitet wird.

  • Läuft standardmäßig unter der aktuellen Python-Version mit den entsprechenden Bibliotheken (Python 3.11, Pandas 2.2.0 und Requests 2.31.0), wenn es im Robots-Skript-Editor geöffnet wird. Bis Ende Juni 2024 bietet der Skript-Editor die Möglichkeit, bestehende Skripte manuell in Python 3.11 mit den alten Bibliotheken (Pandas 1.2.4 und Requests 2.26.0) auszuführen.

Mitte Dezember 2023 HighBond-Robots
  • Erstes Upgrade auf Python 3.11

Neu erstelltes Skript

  • Läuft unter Python 3.11, Pandas 1.2.4 und Requests 2.26.0. Keine andere Option verfügbar.

Vorhandenes Skript, das vor dem Python-Upgrade in Robots erstellt wurde

  • Wird in geplanten Aufgaben weiterhin in Python 3.8 ausgeführt, wenn das Skript nicht bearbeitet wird.

  • Wenn Sie ein Skript im Robots-Skript-Editor öffnen, wird es standardmäßig in Python 3.11 ausgeführt. Im Skript-Editor steht für begrenzte Zeit eine Option zur Verfügung, mit der Sie vorhandene Skripte manuell in Python 3.8 ausführen können.

Neue Versionen von Python und zugehörigen Bibliotheken

In der folgenden Tabelle sind die aktuellen und vorherigen Versionen von Python und den zugehörigen Bibliotheken aufgeführt, die von Robots unterstützt werden. Informationen zu bestimmten Änderungen in den neuen Versionen finden Sie in den verlinkten Ressourcen.

Aktuelle unterstützte Version Bisherige unterstützte Version

Python 3.11

Neue Funktionen in Python 3.11

python3.8

Pandas 2.2.0

Neue Funktionen in Pandas 2.2.0

Pandas 1.2.4

Requests 2.31.0

Versionshinweise für Requests 2.31.0

Requests 2.26.0

NumPy >= 1.23.3

Versionshinweise für NumPy 1.23.3

NumPy 1.16.5

Cryptography >= 39.0.0

Änderungsprotokoll für Cryptography 39.0.0

Cryptography 3.4.7

Boxsdk 3.9.2

Versionshinweise für Boxsdk 3.9.2

Boxsdk 3.0.1

Openpyxl 3.1.2

Versionshinweise für Openpyxl 3.1.2

Openpyxl 3.0.9

Jinja 3.1.3

Versionshinweise für Jinja 3.1.3

Jinja 3.0.3

Simple-salesforce 1.12.5

Versionshinweise für Simple-Salesforce 1.12.5

Simple-salesforce 1.11.5

Jira 3.8.0

Versionshinweise für Jira 3.8.0

Jira 3.1.1

Leitfaden für Robots-Skriptentwickler

Detaillierte Informationen zu Änderungen in den Versionen von Python und den zugehörigen Bibliotheken in HCL 3.0 würden den Rahmen dieses Hilfethemas sprengen. Nachfolgend finden Sie einige allgemeine Hinweise. Ausführliche Informationen finden Sie in den oben verlinkten Ressourcen.

Nicht auf das Python-Upgrade zurückzuführender Skriptfehler

Ein Fehler in einem Robots-Skript muss nicht zwangsläufig durch das Upgrade von Python in Robots von Version 3.8 auf 3.11 verursacht werden. Beispiel:

  • Ein Skriptfehler mit dem Statuscode 401 (Nicht autorisiert) wird höchstwahrscheinlich durch ein Problem mit dem vom Skript angegebenen HighBond-Zugriffstoken verursacht. Weitere Informationen finden Sie unter Zugriffstoken verwalten .

  • Ein Skriptfehler mit dem Statuscode 404 (Nicht gefunden) kann durch eine fehlende oder falsche Variablenzuweisung im Skript verursacht werden. Weitere Informationen finden Sie unter Variablen in einem Python/HCL-Skript verwenden.

Skriptfehler oder falsche Ausgabe, möglicherweise auf das Python-Upgrade zurückzuführen

Wenn ein geplantes Skript erfolgreich ausgeführt wurde und dann in der letzten Oktoberwoche 2024 fehlschlägt, hängt der Fehler wahrscheinlich mit dem Upgrade von Python und den zugehörigen Bibliotheken zusammen. Das Gleiche gilt, wenn ein Skript weiterhin erfolgreich ausgeführt wird, aber falsche oder unerwartete Ergebnisse ausgibt.

  • Veraltete Funktionen und Methoden Eine veraltete Funktion oder Methode in Python, Pandas oder einer der anderen zugehörigen Bibliotheken könnte die Ursache des Problems sein. Führen Sie das fehlerhafte Skript im Robots-Skript-Editor aus und überprüfen Sie sorgfältig alle vom Skript ausgegebenen Fehlermeldungen. Verwenden Sie ggf. während der Fehlerbehebung den KI-Skript-Assistenten.

  • Mehrere Zwischenversionen Zwischen den in den HCL 1.0- und HCL 3.0-Paketen verwendeten Versionen wurden mehrere Zwischenversionen von Python, Pandas und anderen zugehörigen Bibliotheken veröffentlicht. Möglicherweise müssen Sie Informationen zu mehreren Versionen einer Bibliothek überprüfen, um die Ursache eines Problems zu ermitteln.

  • Änderungen an Pandas-Bibliotheken Einige der Änderungen, die durch aufeinanderfolgende Versionen der Pandas-Bibliothek eingeführt wurden, können dazu führen, dass HCL 1.0-Skripts in Robots fehlschlagen. Zu diesen Änderungen gehören unter anderem die unten aufgeführten Änderungen.

    • append() – Methode veraltet

    • astype() – geändertes Verhalten

    • groupby() – geändertes operatives Verhalten

    • read_csv() – Parameteränderungen

    • split() – Parameteränderungen

    • str.replace() – Parameteränderung