Aggiornamento di Robot a Python 3.11

Importante

Il 26 ottobre 2024, il supporto di Robot per Python 3.8 e versioni precedenti delle librerie associate è terminato.

Per evitare possibili interruzioni dei processi automatizzati, è necessario verificare che tutti gli script di produzione pianificati vengano eseguiti nell'ambiente Python 3.11 in Robot e producano un output corretto.

Gli script di produzione o di sviluppo che non sono stati trasferiti a Python 3.11 possono ancora essere eseguiti, ma non è garantito che ciò avvenga. Oppure possono essere eseguiti, ma produrre un output non corretto.

Diligent sta eseguendo un aggiornamento graduale della versione di Python utilizzata da Robot. L'Agente Robot basato su cloud sarà aggiornato da Python 3.8.x a Python 3.11.x. Durante il periodo di transizione, Robot supporterà entrambe le versioni di Python. Per informazioni dettagliate, consultare Programma di aggiornamento graduale in Robot.

Questo upgrade include anche l'aggiornamento delle librerie associate a Python, tra cui Pandas dalla versione 1.2.4 alla 2.2.0 e Richieste dalla versione 2.26.0 alla 2.31.0. Per un elenco delle librerie aggiornate in Robot, consultare Nuove versioni di Python e delle librerie associate.

Se l'organizzazione utilizza robot HighBond o del workflow, leggere questo argomento per acquisire familiarità con le implicazioni dell'aggiornamento. I clienti di Robot non possono rinunciare all'aggiornamento Python.

La Python Software Foundation ha annunciato ufficialmente che Python 3.8 non sarà più supportato dal 14 ottobre 2024.

Impatto sui clienti

Importante

Prendere il tempo necessario per testare tutti gli script Python/HCL prima del 26 ottobre 2024, quando Python 3.8 non sarà più disponibile in Robot. Per evitare di interrompere le attività programmate del robot, apportare eventuali aggiornamenti necessari allo script con largo anticipo rispetto alla scadenza.

Potenziale logica di script incompatibile

Uno o più dei tuoi script Python/HCl potrebbe essere potenzialmente impattato dall'aggiornamento a Python 3.11 Se la logica dello script eseguita in Python 3.8 non funziona più in Python 3.11 oppure viene eseguita ma produce risultati di output non corretti, è necessario aggiornarla.

Il modo più semplice per verificare se gli script esistenti vengono eseguiti senza problemi in Python 3.11 è aprirli nell'editor di script di Robot e provare a eseguirli. Per maggiori informazioni, consultare Testare e riconfermare gli script Python/HCL esistenti.

Informazioni di intestazione dello script non aggiornate

Le informazioni di intestazione negli script Python/HCL specificano i numeri di versione del pacchetto HCL (HighBond Command Language), di Python e delle librerie associate utilizzate da Robot nel momento in cui lo script è stato confermato (salvato) nell'editor di script di Robot. È possibile scaricare qualsiasi script e aprirlo in un editor di testo per vedere le informazioni di intestazione.

Gli esempi che seguono mostrano le informazioni di intestazione per gli script impegnati con i pacchetti HCL e gli ambienti di runtime Python precedenti e attuali.

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

Attuali: HCL 3.0 e 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
}

Problemi con gli script non aggiornati

Agli script con informazioni di intestazione non aggiornate non è vietata l'esecuzione in HCL 3.0 e nell'ambiente di runtime Python 3.11. Tuttavia, è consigliabile aggiornare gli script al più presto per evitare i seguenti problemi:

  • Gli script possono fallire: uno script confermato con Python 3.8 e le versioni precedenti delle librerie associate possono contenere codice ritirato che causa il fallimento dello script in Python 3.11.

  • Gli script possono produrre un output non corretto: uno script può essere eseguito, ma l'output potrebbe non corrispondere a quello prodotto nell'ambiente di runtime Python 3.8.

  • Vengono visualizzate notifiche di avviso Finché le informazioni di intestazione di uno script non vengono aggiornate, le notifiche di avviso nell'interfaccia utente Robot vengono visualizzate con lo script e con il robot che contiene lo script. Per maggiori informazioni, consultare Notifiche di avviso nell'interfaccia utente di Robot.

  • L'attivazione è vietata: finché le informazioni di intestazione di uno script non vengono aggiornate, non è possibile attivare lo script dalla modalità di sviluppo a quella di produzione.

Come aggiornare uno script

Per aggiornare uno script alla versione corrente di HCL e Python, seguire questa procedura:

  1. Aprire lo script nell'editor di script di Robot ed eseguirlo.

  2. Apportare gli aggiornamenti necessari alla logica di script.

  3. Salvare e confermare lo script.

    La conferma dello script aggiorna l'intestazione dello script alle versioni correnti di HCL, Python e delle librerie associate.

  4. Se lo script viene utilizzato in un robot di produzione, attivare lo script per aggiornarlo in modalità di produzione.

Per i passaggi dettagliati, consultare Testare e riconfermare gli script Python/HCL esistenti.

Notifiche di avviso nell'interfaccia utente di Robot

Nell'interfaccia utente di Robot, appaiono diverse notifiche di avviso che segnalano la presenza di versioni di robot e script ancora associate a Python 3.8.

Le notifiche di avviso scompaiono per un robot e una versione di script una volta che si riconferma e si riattiva lo script nell'ambiente di runtime di Python 3.11.

  • Dashboard di Robot: quando si accede alla dashboard di Robot, viene visualizzata una tabella con l'elenco di tutti i robot con uno script di produzione corrente che è stato confermato e attivato nell'ambiente di runtime di Python 3.8.

  • Robot individuali nella dashboard: nei robot individuali del workflow o HighBond con uno script di produzione corrente che è stato confermato e attivato nell'ambiente di runtime di Python 3.8 viene visualizzata un'icona di avviso.

  • Versioni di script individuali: in modalità di sviluppo, viene visualizzato un messaggio di avviso con qualsiasi versione di script che è stata confermata nell'ambiente di runtime di Python 3.8.

Testare e riconfermare gli script Python/HCL esistenti

Per assicurarsi che gli script Python/HCL dell'organizzazione esistenti siano pronti per il passaggio a Python 3.11, testarli e riconfermarli nell'editor di script di Robot.

Aprire uno script esistente nell'editor di script

  1. Dalla home page di Launchpad (www.highbond.com), selezionare l'applicazione Robot per aprirla.

    Se si è già in Diligent One, è possibile utilizzare il menu di navigazione a sinistra per passare all'applicazione Robot.

  2. Dalla dashboard in Robot, selezionare la scheda per il tipo di robot appropriato:

    • Robot HighBond

    • Robot del workflow

  3. Andare su un robot e selezionarlo per aprirlo.

  4. Nell'angolo superiore destro del robot, fare clic su Sviluppo per passare alla modalità di sviluppo.

  5. Nella scheda Versioni dello script, selezionare la versione dello script che si desidera testare.

    Generalmente, si dovrebbe selezionare la versione dello script che è stata attivata in modalità di produzione. Se non è stata attivata alcuna versione, selezionare la versione dello script più recente, a meno che non esista un motivo per selezionarne una diversa.

  6. Nel pannello Dettagli della versione, fare clic su Modifica script o Modifica.

    L'editor di script di Robot fa partire il processo di avvio e carica l'ambiente di runtime Python 3.11.

Eseguire lo script per testarlo

Eseguire lo script per verificare se è compatibile con l'ambiente di runtime Python 3.11.

  1. Una volta completato il processo di avvio dell'editor di script, eseguire lo script per testarlo.

  2. Se lo script viene eseguito correttamente, verificare che i risultati siano corretti.

    Se lo script viene eseguito correttamente fino al completamento e i risultati di output sono corretti, lo script è compatibile con Python 3.11 e le sue librerie associate. Non sono necessari ulteriori test dello script. Quando si salva e si conferma lo script, lo si associa ad HCL 3.0 e all'ambiente di runtime Python 3.11. Vedere Salvare e confermare lo script.

  3. Se lo script non riesce o se i risultati di output non sono corretti, aggiornare la logica dello script per risolvere il problema.

    Nota

    Il fallimento dello script o l'output non corretto possono essere o meno correlati all'aggiornamento di Python in Robot. Per maggiori informazioni, consultare Guida per gli sviluppatori di script di robot.

Salvare e confermare lo script

  1. Sulla barra degli strumenti dell'editor di script, fare clic su Salva e conferma.

  2. Inserire un messaggio di conferma significativo per descrivere le modifiche.

    Consiglio

    Potrebbe essere utile aggiungere "Viene eseguito in Python 3.11" nel messaggio di conferma.

  3. Facoltativo. Selezionare Salva l'output dello script nel file di log dell'esecuzione dell'attività.

    Quando si esegue uno script utilizzando un'attività del robot, questa opzione salva tutto l'output dello script in un file di log. L'output salvato può essere utile da revisionare durante lo sviluppo e la risoluzione dei problemi degli script. Per maggiori informazioni, consultare Salvare l'output dello script in un file di log.

  4. Fare clic su Conferma per salvare e confermare lo script.

    Si visualizza il messaggio Lo script è stato confermato con successo.

  5. Nell'intestazione della pagina, fare clic sul nome del robot.

    Si verrà reindirizzati alla scheda Versioni dello script nel robot. Ogni volta che uno script viene salvato e confermato, la versione salvata viene aggiunta a questa scheda.

  6. Facoltativo. Verificare che lo script sia associato all'ambiente di runtime Python 3.11:

    1. Selezionare la versione dello script appena salvata.

    2. Nel pannello Dettagli della versione, fare clic su Scarica.

      Lo script viene scaricato sul computer.

    3. Aprire lo script in un editor di testo.

      L'ambiente di runtime Python associato appare nella parte superiore dello script:

      "runtime":"python3.11"
  7. Se lo script viene utilizzato in un robot di produzione, attivare lo script per aggiornarlo in modalità di produzione.

    1. Selezionare la versione dello script appena salvata.

    2. Nel pannello Dettagli della versione, fare clic su Attiva.

    3. Inserire un commento nella cronologia della versione per spiegare perché si sta riattivando lo script.

    4. Fare clic su Attiva versionNumber.

      La versione dello script viene attivata e aggiornata in modalità di produzione.

Programma di aggiornamento graduale in Robot

La tabella seguente fornisce date e dettagli per l'aggiornamento graduale di Python e delle librerie associate in Robot.

Data prevista Area interessata Dettagli

26 ottobre 2024

robot HighBond

robot del workflow

Tutti gli script

Sono inclusi gli script non modificati nelle attività pianificate

  • Eseguire in Python 3.11 con le nuove librerie (Pandas 2.2.0 e Requests 2.31.0 e altre librerie aggiornate). Non esiste nessun'altra opzione.

Importante

Gli script di produzione o di sviluppo che non sono stati trasferiti a Python 3.11 possono ancora essere eseguiti, ma non è garantito che ciò avvenga. Oppure possono essere eseguiti, ma produrre un output non corretto.

Questi script devono essere testati e riconfermati nell'editor di script di Robot per associarli a Python 3.11. Gli script di produzione devono essere riattivati in modalità di produzione. Per maggiori informazioni, consultare Testare e riconfermare gli script Python/HCL esistenti.

14 ottobre 2024 Python 3.8

La Python Software Foundation ha annunciato ufficialmente che Python 3.8 non sarà più supportato dal 14 ottobre 2024. Consulta Stato delle versioni Python.

Quando una versione di Python raggiunge la fine del ciclo di vita, il team di sviluppo di Python non risolve più i nuovi bug di sicurezza segnalati per quella versione.

12 luglio 2024

robot HighBond

robot del workflow

Script esistente creato prima dell'aggiornamento di Python in Robot

  • Se precedentemente attivato in modalità di produzione, viene visualizzato in una tabella della dashboard di Robot che elenca tutti i robot con uno script Python 3.8 di produzione.

  • Sui robot individuali con uno script di produzione Python 3.8 appare un'icona di avviso. L'icona scompare una volta riconfermato e riattivato lo script nell'ambiente di runtime di Python 3.11.

  • Nelle attività pianificate, continua a essere eseguito in Python 3.8, finché lo script non viene modificato.

4 luglio 2024

robot HighBond

robot del workflow

Tutti gli script

  • Gli script di Python 3.8 o 3.11 associati a vecchie librerie (Pandas 1.2.4, Requests 2.26.0) non possono essere ridotti, caricati o attivati manualmente. Inoltre, gli script non compatibili con Python 3.11 o HCL 3.0. non possono essere caricati o attivati tramite API o kit di strumenti.

Script esistente creato prima dell'aggiornamento di Python

  • Nelle attività pianificate, continua a essere eseguito in Python 3.8, finché lo script non viene modificato.

4 aprile 2024 robot del workflow
  • Aggiornamento iniziale a Python 3.11

Script appena creato

  • Viene eseguito nell'ultima versione di Python con le librerie corrispondenti (Python 3.11, Pandas 2.2.0 e Requests 2.31.0). Non esiste nessun'altra opzione.

Script esistente creato prima dell'aggiornamento di Python in Robot

  • Nelle attività pianificate, continua a essere eseguito in Python 3.8, finché lo script non viene modificato.

  • Se aperto nell'editor di script di Robot, per impostazione predefinita verrà eseguito in Python 3.11. Fino alla fine di giugno 2024, il redattore di script offre un'opzione per il downgrade manuale degli script esistenti per eseguirli in Python 3.8.

4 aprile 2024 robot HighBond

Script appena creato

  • Viene eseguito nell'ultima versione di Python con le librerie corrispondenti (Python 3.11, Pandas 2.2.0 e Requests 2.31.0). Non esiste nessun'altra opzione.

Script esistente creato prima dell'aggiornamento di Python in Robot

  • Nelle attività pianificate, continua a essere eseguito in Python 3.8, finché lo script non viene modificato.

  • Se aperto nell'editor di script di Robot, per impostazione predefinita viene eseguito con l'ultima versione di Python con le librerie corrispondenti (Python 3.11, Pandas 2.2.0 e Requests 2.31.0). Fino alla fine di giugno 2024, il redattore di script offre un'opzione per il downgrade manuale degli script esistenti per eseguirli in Python 3.8.

Script aggiornato a Python 3.11 dopo dicembre 2023

  • Nelle attività pianificate, continua a essere eseguito in Python 3.11 con le vecchie librerie (Pandas 1.2.4, Requests 2.26.0), finché lo script non viene modificato.

  • Se aperto nell'editor di script di Robot, per impostazione predefinita viene eseguito con l'ultima versione di Python con le librerie corrispondenti (Python 3.11, Pandas 2.2.0 e Requests 2.31.0). Fino alla fine di giugno 2024, il redattore di script offre un'opzione per ridurre manualmente gli script esistenti per eseguirli in Python 3.11, con le vecchie librerie (Pandas 1.2.4 e Requests 2.26.0).

Metà dicembre 2023 robot HighBond
  • Aggiornamento iniziale a Python 3.11

Script appena creato

  • Viene eseguito con Python 3.11, Pandas 1.2.4 e Requests 2.26.0. Non esiste nessun'altra opzione.

Script esistente creato prima dell'aggiornamento di Python in Robot

  • Nelle attività pianificate, continua a essere eseguito in Python 3.8, finché lo script non viene modificato.

  • Se aperto nell'editor di script di Robot, per impostazione predefinita verrà eseguito in Python 3.11. Per un periodo limitato di tempo, il redattore di script fornisce un'opzione per ridurre manualmente gli script esistenti per eseguirli in Python 3.8.

Nuove versioni di Python e delle librerie associate

La tabella seguente elenca le versioni attuali e precedenti di Python e delle librerie associate supportate da Robot. Per informazioni sulle modifiche specifiche delle nuove versioni, consultare le risorse collegate.

Versione attualmente supportata Versione supportata in precedenza

Python 3.11

Novità di Pythonn 3.11

Python 3.8

Pandas 2.2.0

Novità di Pandas 2.2.0

Pandas 1.2.4

Requests 2.31.0

Note di rilascio per Requests 2.31.0

Requests 2.26.0

NumPy >= 1.23.3

Note di rilascio per NumPy 1.23.3

NumPy 1.16.5

Cryptography >= 39.0.0

Log delle modifiche per Cryptography 39.0.0

Cryptography 3.4.7

Boxsdk 3.9.2

Note di rilascio per Boxsdk 3.9.2

Boxsdk 3.0.1

Openpyxl 3.1.2

Note di rilascio per Openpyxl 3.1.2

Openpyxl 3.0.9

Jinja 3.1.3

Note di rilascio per Jinja 3.1.3

Jinja 3.0.3

Simple-salesforce 1.12.5

Note di rilascio per Simple-salesforce 1.12.5

Simple-salesforce 1.11.5

Jira 3.8.0

Note di rilascio per Jira 3.8.0

Jira 3.1.1

Guida per gli sviluppatori di script di robot

Informazioni dettagliate sulle modifiche delle versioni di Python e delle librerie associate in HCL 3.0 esulano dallo scopo di questo argomento della Guida. Di seguito vengono fornite alcune indicazioni generali. Per informazioni dettagliate, consultare le risorse collegate sopra.

Errore dello script non associato all'aggiornamento di Python

L'errore di uno script di Robot può essere o meno causato dall'aggiornamento di Python in Robot dalla versione 3.8 alla 3.11. Per esempio:

  • L'errore dello script con un codice di stato 401 (Non autorizzato) è probabilmente causato da un problema con il token di accesso Diligent One specificato dallo script. Per maggiori informazioni, consultare Gestire i token di accesso .

  • L'errore dello script con un codice di stato 404 (Non trovato) può essere causato da un'assegnazione di variabile mancante o errata nello script. Per maggiori informazioni, consultare Utilizzare le variabili in uno script Python/HCL.

Errore dello script o output non corretto, forse associato all'aggiornamento di Python

Se uno script pianificato è stato eseguito con successo e poi fallisce durante l'ultima settimana del mese di ottobre 2024, il fallimento è probabilmente legato all'aggiornamento di Python e delle librerie associate. Lo stesso vale se uno script continua a essere eseguito correttamente ma inizia a produrre risultati errati o inaspettati.

  • Funzioni e metodi ritirati Una funzione o un metodo ritirato in Python, Pandas o in una delle altre librerie associate potrebbe essere la causa del problema. Eseguire lo script non funzionante nell'editor di script di Robot ed esaminare attentamente i messaggi di errore restituiti dallo script. Provare a utilizzare l'Assistente AI Script durante la risoluzione dei problemi.

  • Altre versioni intermedie Sono state rilasciate diverse versioni intermedie di Python, Pandas e altre librerie associate nei pacchetti HCL 1.0 e HCL 3.0. Potrebbe essere necessario esaminare le informazioni associate a più versioni di una libreria per identificare l'origine di un problema.

  • Modifiche importanti di Pandas Alcune delle modifiche introdotte dalle versioni successive della libreria Pandas possono causare il fallimento degli script HCL 1.0 in Robot. Le modifiche che causano il fallimento includono, ma non sono limitate a, le modifiche riportate di seguito.

    • append(): metodo ritirato

    • astype(): comportamento modificato

    • groupby(): comportamento di funzionamento modificato

    • read_csv(): modifiche al parametro

    • split(): modifiche al parametro

    • str.replace(): modifica al parametro