Robots-upgrade naar Python 3.11

Belangrijk

Op 26 oktober 2024 is de Robots-ondersteuning voor Python 3.8 en oudere versies van bijbehorende bibliotheken beëindigd.

Om mogelijke verstoring van uw geautomatiseerde processen te voorkomen, moet u controleren of alle geplande productiescripts worden uitgevoerd in de Robots Python 3.11-omgeving en de juiste uitvoer produceren.

Productie- of ontwikkelingsscripts die niet zijn overgezet naar Python 3.11 kunnen mogelijk nog steeds worden uitgevoerd, maar dit kan niet worden gegarandeerd. Of ze werken wel, maar produceren een onjuiste uitvoer.

Diligent voert een upgrade uit van de versie van Python die wordt gebruikt door Robots. De cloudgebaseerde Robots-agent wordt geüpgraded van Python 3.8.x naar Python 3.11.x. Tijdens een overgangsperiode worden beide versies van Python ondersteund door Robots. Voor meer informatie, zie Gefaseerde upgrade-planning in Robots.

De upgrade omvat ook het updaten van een aantal bibliotheken die aan Python zijn gekoppeld, waaronder Pandas (van versie 1.2.4 naar 2.2.0) en Requests (van versie 2.26.0 naar 2.31.0). Zie Nieuwe versies van Python en bijbehorende bibliotheken voor een lijst met bibliotheken die zijn bijgewerkt in Robots.

Als uw organisatie HighBond-robots of Workflow-robots gebruikt, lees dan dit onderwerp om u vertrouwd te maken met de gevolgen van de upgrade. Robotsklanten kunnen zich niet afmelden voor de Python-upgrade.

De Python Software Foundation heeft aangekondigd dat Python 3.8 officieel niet meer wordt ondersteund vanaf 14 oktober 2024.

Impact op klanten

Belangrijk

Geef uzelf voldoende tijd om al uw Python/HCL-scripts te testen vóór 26 oktober 2024, wanneer Python 3.8 niet langer beschikbaar zal zijn in Robots. Om te voorkomen dat geplande robottaken worden verstoord, voert u eventuele noodzakelijke scriptwijzigingen ruim vóór de deadline uit.

Potentieel voor incompatibele scriptlogica

Een of meer van uw Python-/HCL-scripts kan mogelijk worden beïnvloed door de upgrade naar Python 3.11. Als scriptlogica die in Python 3.8 wordt uitgevoerd, niet meer in Python 3.11 wordt uitgevoerd of wel wordt uitgevoerd, maar onjuiste uitvoerresultaten oplevert, moet u de scriptlogica bijwerken.

De eenvoudigste manier om te controleren of uw bestaande scripts probleemloos draaien in Python 3.11 is door ze te openen in de Robots-scripteditor en ze uit te proberen. Voor meer informatie raadpleegt u Bestaande Python/HCL-scripts testen en opnieuw toepassen.

Verouderde scriptheaderinformatie

Headerinformatie in Python/HCL-scripts specificeert de versienummers van het HCL-pakket (HighBond Command Language), Python en bijbehorende bibliotheken die door Robots werden gebruikt op het moment dat het script werd vastgelegd (opgeslagen) in de Robots-scripteditor. U kunt elk script downloaden en openen in een teksteditor om de headerinformatie te bekijken.

De onderstaande voorbeelden tonen headerinformatie voor scripts die zijn vastgelegd met eerdere en huidige HCL-pakketten en Python-runtimeomgevingen.

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

Huidig: HCL 3.0 en 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
}

Problemen met verouderde scripts

Scripts met verouderde headerinformatie mogen in HCL 3.0 en de Python 3.11-runtimeomgeving worden uitgevoerd. U dient de scripts echter zo snel mogelijk bij te werken om de volgende problemen te voorkomen:

  • Scripts kunnen mislukken Een script dat is vastgelegd onder Python 3.8 en oudere versies van bijbehorende bibliotheken, kan verouderde code bevatten waardoor het script in Python 3.11 kan mislukken.

  • Scripts kunnen onjuiste uitvoer produceren Een script kan worden uitgevoerd, maar de uitvoer komt mogelijk niet overeen met de uitvoer die wordt geproduceerd in de Python 3.8-runtimeomgeving.

  • Waarschuwingsmeldingen worden weergegeven Totdat de headerinformatie van een script is bijgewerkt, worden waarschuwingsmeldingen in de gebruikersinterface Robots weergegeven bij het script en bij de robot die het script bevat. Voor meer informatie raadpleegt u Waarschuwingsmeldingen in de gebruikersinterface van Robots.

  • Activering is verboden Totdat de headerinformatie van een script is bijgewerkt, mag u het script niet van de ontwikkelingsmodus naar de productiemodus activeren.

Een script bijwerken

Om een script bij te werken naar de huidige versie van HCL en Python, volgt u dit proces:

  1. Open het script in de Robots scripteditor en voer het uit.

  2. Breng de nodige wijzigingen aan in de scriptlogica.

  3. Sla het script op en pas het toe.

    Wanneer u het script toepast, wordt de scriptheader bijgewerkt naar de huidige versies van HCL, Python en bijbehorende bibliotheken.

  4. Als het script wordt gebruikt in een productierobot, activeer het script dan om het bij te werken in de productiemodus.

Raadpleeg Bestaande Python/HCL-scripts testen en opnieuw toepassen voor gedetailleerde stappen.

Waarschuwingsmeldingen in de gebruikersinterface van Robots

In de gebruikersinterface van Robots verschijnen verschillende waarschuwingsmeldingen die u attenderen op robots en scriptversies die nog aan Python 3.8 zijn gekoppeld.

De waarschuwingsmeldingen voor een robot- en scriptversie verdwijnen zodra u het script opnieuw toepast en activeert in de Python 3.11-runtimeomgeving.

  • Robots-dashboard Wanneer u het Robots-dashboard opent, verschijnt er een tabel met alle robots met een huidig productiescript dat is toegepast en geactiveerd onder de Python 3.8-runtimeomgeving.

  • Individuele robots op het dashboard Er verschijnt een waarschuwingspictogram op individuele HighBond- of Workflow-robots met een actueel productiescript dat is toegepast en geactiveerd onder de Python 3.8-runtimeomgeving.

  • Individuele scriptversies In de ontwikkelingsmodus verschijnt er een waarschuwingsbericht bij elke scriptversie die is toegepast in de Python 3.8-runtimeomgeving.

Bestaande Python/HCL-scripts testen en opnieuw toepassen

Om ervoor te zorgen dat de bestaande Python/HCL-scripts van uw organisatie klaar zijn voor de overgang naar Python 3.11, test u ze en commit u ze opnieuw in de Robots-scripteditor.

Open een bestaand script in de scripteditor

  1. Selecteer vanaf de startpagina van Launchpad (www.highbond.com) de Robots-app om deze te openen.

    Als u zich reeds in Diligent One bevindt, kunt u het navigatiemenu aan de linkerkant gebruiken om naar de Robots-app te switchen.

  2. Selecteer vanuit het dashboard in Robots het tabblad voor het juiste robottype:

    • HighBond-robots

    • Workflowrobots

  3. Navigeer naar een robot en selecteer deze om hem te openen.

  4. Klik in de rechterbovenhoek van de robot op Ontwikkeling om te schakelen naar de ontwikkelingsmodus.

  5. Selecteer op het tabblad Scriptversies van het script dat u wilt weergeven.

    Doorgaans selecteert u de versie van het script die in productiemodus is geactiveerd. Als er geen versie is geactiveerd, selecteert u de meest recente scriptversie, tenzij u een reden hebt om een andere versie te selecteren.

  6. Klik in het paneel Versiedetails op Script bewerken of Bewerken.

    De Robots-scripteditor start het opstartproces en laadt de Python 3.11-runtime-omgeving.

Voer het script uit om het te testen

Voer het script uit om te testen of het compatibel is met de Python 3.11-runtime-omgeving.

  1. Zodra het opstartproces van de scripteditor is voltooid, voert u het script uit om het te testen.

  2. Als het script succesvol wordt uitgevoerd, controleer dan de uitvoerresultaten om er zeker van te zijn dat deze correct zijn.

    Als het script succesvol wordt uitgevoerd en de uitvoerresultaten correct zijn, is het script compatibel met Python 3.11 en de bijbehorende bibliotheken. Verdere tests van het script zijn niet nodig. U kunt het script opslaan en committen om het te koppelen aan HCL 3.0 en de Python 3.11 runtime-omgeving. Raadpleeg Script opslaan en committen.

  3. Als het script mislukt of als de uitvoerresultaten onjuist zijn, werkt u de scriptlogica bij om het probleem op te lossen.

    Opmerking

    Scriptfouten of onjuiste uitvoer kunnen wel of niet te maken hebben met de Python-upgrade in Robots. Voor meer informatie raadpleegt u Richtlijnen voor ontwikkelaars van Robots-scripts.

Script opslaan en committen

  1. Klik op de werkbalk van de scripteditor op Opslaan en toepassen.

  2. Voer een betekenisvol commit-bericht in om uw wijzigingen te beschrijven.

    Tip

    Het kan handig zijn om "Runs in Python 3.11" toe te voegen aan het commit-bericht.

  3. Optioneel. Selecteer Scriptuitvoer opslaan in het logbestand van de taakuitvoering.

    Wanneer u een script uitvoert met behulp van een robottaak, slaat deze optie alle scriptuitvoer op in een logbestand. Het opgeslagen resultaat kan nuttig zijn om te bekijken tijdens het ontwikkelen en oplossen van problemen in scripts. Voor meer informatie raadpleegt u Scripts opslaan in een logbestand.

  4. Klik op Toepassen om het script op te slaan en toe te passen.

    Het bericht De wijzigingen in het script zijn succesvol toegepast verschijnt.

  5. Klik in de paginakop op de naam van de robot.

    U keert terug naar het tabblad Scriptversies in de robot. Elke keer dat u een script opslaat en commit, wordt de opgeslagen versie toegevoegd aan dit tabblad.

  6. Optioneel. Controleer of het script is gekoppeld aan de Python 3.11-runtime-omgeving:

    1. Selecteer de scriptversie die u zojuist hebt opgeslagen.

    2. Klik in het deelvenster Versiedetails op Downloaden.

      Het script wordt naar uw computer gedownload.

    3. Open het script in een teksteditor.

      De bijbehorende Python-runtime-omgeving wordt bovenaan het script weergegeven:

      "runtime":"python3.11"
  7. Als het script wordt gebruikt in een productierobot, activeer het script dan opnieuw om het bij te werken in de productiemodus:

    1. Selecteer de scriptversie die u zojuist hebt opgeslagen.

    2. Klik in het deelvenster Versiedetails op Activeren.

    3. Voeg een opmerking toe in de versiegeschiedenis waarin u uitlegt waarom u het script opnieuw activeert.

    4. Klik op Activeren versionNumber.

      De scriptversie wordt geactiveerd en bijgewerkt in de productiemodus.

Gefaseerde upgrade-planning in Robots

In de onderstaande tabel vindt u data en details voor de gefaseerde upgrade van Python en bijbehorende bibliotheken in Robots.

Geschatte datum Getroffen gebied Details

26 oktober 2024

HighBond-robots

Workflowrobots

Alle scripts

Bevat niet-bewerkte scripts in geplande taken

  • Draait in Python 3.11 met de nieuwe bibliotheken (Pandas 2.2.0, Requests 2.31.0 en andere bijgewerkte bibliotheken). Er bestaat geen andere optie.

Belangrijk

Productie- of ontwikkelingsscripts die niet zijn overgezet naar Python 3.11 kunnen mogelijk nog steeds worden uitgevoerd, maar dit kan niet worden gegarandeerd. Of ze werken wel, maar produceren een onjuiste uitvoer.

Deze scripts moeten worden getest en opnieuw worden vastgelegd in de Robots-scripteditor om ze te koppelen aan Python 3.11. Productiescripts moeten opnieuw worden geactiveerd in de productiemodus. Voor meer informatie raadpleegt u Bestaande Python/HCL-scripts testen en opnieuw toepassen.

14 oktober 2024 Python 3.8

De Python Software Foundation heeft aangekondigd dat Python 3.8 officieel niet meer wordt ondersteund vanaf 14 oktober 2024. Zie Status van Python-versies.

Zodra een versie van Python het einde van zijn levensduur bereikt, lost het Python-ontwikkelingsteam geen nieuwe beveiligingsbugs meer op die voor die versie zijn gemeld.

12 juli 2024

HighBond-robots

Workflowrobots

Bestaand script gemaakt vóór de Python-upgrade in Robots

  • Als de productiemodus eerder is geactiveerd, wordt deze weergegeven in een tabel op het Robots-dashboard met een lijst van alle robots met een Python 3.8-productiescript.

  • Er verschijnt een waarschuwingspictogram op individuele robots met een Python 3.8-productiescript. Het pictogram verdwijnt zodra u het script opnieuw commit en opnieuw activeert in de Python 3.11-runtime-omgeving.

  • In geplande taken blijft het draaien in Python 3.8, zolang het script niet wordt bewerkt.

4 juli 2024

HighBond-robots

Workflowrobots

Alle scripts

  • Python 3.8 of 3.11 scripts die gekoppeld zijn aan oude bibliotheken (Pandas 1.2.4, Requests (versie 2.26.0) kunnen niet handmatig worden gedowngraded, geüpload of geactiveerd. Bovendien kunnen scripts die niet compatibel zijn met Python 3.11 of HCL 3.0 niet worden geüpload of geactiveerd via API's of toolkits.

Bestaand script gemaakt vóór de Python-upgrade in Robots

  • In geplande taken blijft het draaien in Python 3.8, zolang het script niet wordt bewerkt.

4 april 2024 Workflowrobots
  • Eerste upgrade naar Python 3.11

Nieuw gemaakt script

  • Wordt uitgevoerd in de nieuwste Python-versie met de bijbehorende bibliotheken (Python 3.11, Pandas 2.2.0 en Requests 2.31.0). Er bestaat geen andere optie.

Bestaand script gemaakt vóór de Python-upgrade in Robots

  • In geplande taken blijft het draaien in Python 3.8, zolang het script niet wordt bewerkt.

  • Als geopend in de Robots-scripteditor wordt standaard Python 3.11 gebruikt. Tot eind juni 2024 biedt de scripteditor een optie om bestaande scripts handmatig te downgraden, zodat ze in Python 3.8 kunnen worden uitgevoerd.

4 april 2024 HighBond-robots

Nieuw gemaakt script

  • Wordt uitgevoerd in de nieuwste Python-versie met de bijbehorende bibliotheken (Python 3.11, Pandas 2.2.0 en Requests 2.31.0). Er bestaat geen andere optie.

Bestaand script gemaakt vóór de Python-upgrade in Robots

  • In geplande taken blijft het draaien in Python 3.8, zolang het script niet wordt bewerkt.

  • Als het wordt geopend in de Robots-scripteditor, wordt standaard de nieuwste Python-versie met de bijbehorende bibliotheken gebruikt (Python 3.11, Pandas 2.2.0 en Requests 2.31.0). Tot eind juni 2024 biedt de scripteditor een optie om bestaande scripts handmatig te downgraden, zodat ze in Python 3.8 kunnen worden uitgevoerd.

Script geüpgraded naar Python 3.11 na december 2023

  • In geplande taken blijft het draaien in Python 3.11 met de oude bibliotheken (Pandas 1.2.4, Requests 2.26.0), zolang het script niet wordt bewerkt.

  • Als geopend in de Robots-scripteditor, wordt standaard de nieuwste Python-versie met de bijbehorende bibliotheken gebruikt (Python 3.11, Pandas 2.2.0, Requests 2.31.0). Tot eind juni 2024 biedt de scripteditor een optie om bestaande scripts handmatig te downgraden zodat ze in Python 3.11 met de oude bibliotheken (Pandas 1.2.4, Requests 2.26.0).

Mid-December 2023 HighBond-robots
  • Eerste upgrade naar Python 3.11

Nieuw gemaakt script

  • Kan worden uitgevoerd in Python 3.11, Pandas 1.2.4, en Requests 2.26.0. Er bestaat geen andere optie.

Bestaand script gemaakt vóór de Python-upgrade in Robots

  • In geplande taken blijft het draaien in Python 3.8, zolang het script niet wordt bewerkt.

  • Als geopend in de Robots-scripteditor wordt standaard Python 3.11 gebruikt. Voor een beperkte periode biedt de scripteditor een optie voor het handmatig downgraden van bestaande scripts om ze uit te voeren in Python 3.8.

Nieuwe versies van Python en bijbehorende bibliotheken

In de onderstaande tabel staan de huidige en vorige versies van Python en de bijbehorende bibliotheken die door Robots worden ondersteund. Consult the linked resources for information about specific changes in the new versions.

Huidige ondersteunde versie Vorige ondersteunde versie

Python 3.11

Wat is er nieuw in Python 3.11

Python 3.8

Pandas 2.2.0

Wat is er nieuw in Pandas 2.2.0

Pandas 1.2.4

Requests 2.31.0

Releasenotities van Requests 2.31.0

Requests 2.26.0

NumPy >= 1.23.3

Releasenotities van NumPy 1.23.3

NumPy 1.16.5

Cryptography >= 39.0.0

Wijzigingslogboek van Cryptography 39.0.0

Cryptography 3.4.7

Boxsdk 3.9.2

Releasenotities van Boxsdk 3.9.2

Boxsdk 3.0.1

Openpyxl 3.1.2

Releasenotities van Openpyxl 3.1.2

Openpyxl 3.0.9

Jinja 3.1.3

Releasenotities van Jinja 3.1.3

Jinja 3.0.3

Simple-salesforce 1.12.5

Releasenotities van Simple-Salesforce 1.12.5

Simple-salesforce 1.11.5

Jira 3.8.0

Releasenotities van Jira 3.8.0

Jira 3.1.1

Richtlijnen voor ontwikkelaars van Robots-scripts

Gedetailleerde informatie over wijzigingen in de versies van Python en bijbehorende bibliotheken in HCL 3.0 valt buiten het bereik van dit Help-onderwerp. Hieronder vindt u algemene richtlijnen. Voor gedetailleerde informatie kunt u het beste de hierboven genoemde bronnen raadplegen.

Scriptfout die niet verband houdt met de Python-upgrade

Het mislukken van een Robots-script kan wel of niet worden veroorzaakt door de upgrade van Python in Robots van versie 3.8 naar 3.11. Bijvoorbeeld:

  • Een scriptfout met een 401-statuscode (Unauthorized) wordt hoogstwaarschijnlijk veroorzaakt door een probleem met het Diligen One-toegangstoken dat door het script is opgegeven. Voor meer informatie raadpleegt u Toegangstokens beheren .

  • Een scriptfout met een 404-statuscode (Niet gevonden) kan worden veroorzaakt door een ontbrekende of onjuiste variabeletoewijzing in het script. Voor meer informatie raadpleegt u Variabelen gebruiken in een Python/HCL-script.

Scriptfout of onjuiste uitvoer, mogelijk gerelateerd aan de Python-upgrade

Als een gepland script succesvol is uitgevoerd en in de laatste week van oktober 2024 mislukt, is de fout waarschijnlijk te wijten aan de upgrade van Python en de bijbehorende bibliotheken. Hetzelfde geldt als een script succesvol blijft draaien, maar onjuiste of onverwachte resultaten begint te geven.

  • Verouderde functies en methoden Een verouderde functie of methode in Python, Pandas of een van de andere bijbehorende bibliotheken kan de oorzaak van het probleem zijn. Voer het mislukte script uit in de Robots script editor en bekijk zorgvuldig alle foutmeldingen die het script retourneert. Probeer de AI Script Assistant te gebruiken tijdens het oplossen van problemen.

  • Meerdere tussenliggende versies Er zijn een aantal tussenliggende versies van Python, Pandas en andere bijbehorende bibliotheken uitgebracht tussen de versies die in de HCL 1.0- en HCL 3.0-pakketten worden gebruikt. Mogelijk moet u informatie over meerdere versies van een bibliotheek bekijken om de oorzaak van een probleem te achterhalen.

  • Breekbare wijzigingen voor Pandas Sommige wijzigingen die zijn geïntroduceerd door opeenvolgende versies van de Pandas-bibliotheek, kunnen ervoor zorgen dat HCL 1.0-scripts mislukken in Robots. Belangrijke wijzigingen omvatten onder meer (maar zijn niet beperkt tot) de onderstaande wijzigingen.

    • append() – methode verouderd

    • astype() – veranderd gedrag

    • groupby() – veranderd gedrag van activiteit

    • read_csv() – parameterwijzigingen

    • split() – parameterwijzigingen

    • str.replace() – parameterwijziging