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:
-
Open het script in de Robots scripteditor en voer het uit.
-
Breng de nodige wijzigingen aan in de scriptlogica.
-
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.
-
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
-
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.
-
Selecteer vanuit het dashboard in Robots het tabblad voor het juiste robottype:
-
HighBond-robots
-
Workflowrobots
-
-
Navigeer naar een robot en selecteer deze om hem te openen.
-
Klik in de rechterbovenhoek van de robot op Ontwikkeling om te schakelen naar de ontwikkelingsmodus.
-
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.
-
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.
-
Zodra het opstartproces van de scripteditor is voltooid, voert u het script uit om het te testen.
-
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.
-
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
-
Klik op de werkbalk van de scripteditor op Opslaan en toepassen.
-
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.
-
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.
-
Klik op Toepassen om het script op te slaan en toe te passen.
Het bericht De wijzigingen in het script zijn succesvol toegepast verschijnt.
-
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.
-
Optioneel. Controleer of het script is gekoppeld aan de Python 3.11-runtime-omgeving:
-
Selecteer de scriptversie die u zojuist hebt opgeslagen.
-
Klik in het deelvenster Versiedetails op Downloaden.
Het script wordt naar uw computer gedownload.
-
Open het script in een teksteditor.
De bijbehorende Python-runtime-omgeving wordt bovenaan het script weergegeven:
"runtime":"python3.11"
-
-
Als het script wordt gebruikt in een productierobot, activeer het script dan opnieuw om het bij te werken in de productiemodus:
-
Selecteer de scriptversie die u zojuist hebt opgeslagen.
-
Klik in het deelvenster Versiedetails op Activeren.
-
Voeg een opmerking toe in de versiegeschiedenis waarin u uitlegt waarom u het script opnieuw activeert.
-
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
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
|
4 juli 2024 |
HighBond-robots Workflowrobots |
Alle scripts
Bestaand script gemaakt vóór de Python-upgrade in Robots
|
4 april 2024 | Workflowrobots
|
Nieuw gemaakt script
Bestaand script gemaakt vóór de Python-upgrade in Robots
|
4 april 2024 | HighBond-robots |
Nieuw gemaakt script
Bestaand script gemaakt vóór de Python-upgrade in Robots
Script geüpgraded naar Python 3.11 na december 2023
|
Mid-December 2023 | HighBond-robots
|
Nieuw gemaakt script
Bestaand script gemaakt vóór de Python-upgrade in Robots
|
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 |
Python 3.8 |
Pandas 2.2.0 |
Pandas 1.2.4 |
Requests 2.31.0 |
Requests 2.26.0 |
NumPy >= 1.23.3 |
NumPy 1.16.5 |
Cryptography >= 39.0.0 |
Cryptography 3.4.7 |
Boxsdk 3.9.2 |
Boxsdk 3.0.1 |
Openpyxl 3.1.2 |
Openpyxl 3.0.9 |
Jinja 3.1.3 |
Jinja 3.0.3 |
Simple-salesforce 1.12.5 |
Simple-salesforce 1.11.5 |
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
-