Workiva Scripting offre un ambiente flessibile e sicuro per l'esecuzione di codice Python sulla piattaforma Workiva. Scrivendo script personalizzati che eseguono automaticamente processi ripetibili, puoi creare efficienza in scala su più report, file e spazi di lavoro. E man mano che sempre più attività vengono supportate dall'intelligenza artificiale, Scripting offre a tali attività una base affidabile e regolamentata su cui costruire, coniugando la flessibilità con il controllo necessario per trasformare l'automazione in risultati ripetibili e affidabili.
La funzionalità di scripting è inclusa in Customize Workiva. Per utilizzare lo scripting, nell'area di lavoro deve essere abilitata l'opzione "Personalizza Workiva/Scripting" e gli utenti dovranno disporre dei ruoli di scripting appropriati e delle autorizzazioni sui file.
Ruoli e autorizzazioni
I ruoli sono un'impostazione a livello di sistema in Workiva e stabiliscono un livello di accesso standard per ogni script in un'area di lavoro. Ci sono tre ruoli di Workiva Scripting che possono essere assegnati dall'amministratore dell'area di lavoro.
| Ruolo | Livello di accesso |
|---|---|
| Script Runner | Può eseguire gli script. |
| Visualizzatore di script | Può visualizzare gli script. |
| Editor di script | Può visualizzare, creare e modificare gli script. |
Per ulteriori informazioni, consultare la pagina di supporto " : ruoli e autorizzazioni per lo scripting" all'indirizzo .
Come utilizzare Workiva Scripting
Una volta abilitati nel tuo spazio di lavoro, gli script appariranno nella schermata iniziale accanto agli altri fogli di calcolo, documenti e presentazioni del tuo sito. Puoi creare un nuovo script o selezionarne uno esistente dall'elenco dei file.
L'editor di script è il luogo in cui costruirai, modificherai ed eseguirai gli script all'interno del tuo sito.
Include:
- Un canvas centrale dove comporre lo script
- Una sezione di output in basso dove visualizzerai i risultati dell'esecuzione dello script
- Una barra di menu in alto dove potrai salvare o eseguire lo script
- Un pannello delle proprietà a destra per gestire le proprietà dello script e la cronologia delle esecuzioni
- Un pannello delle fonti sul lato sinistro
Una volta costruiti, gli script possono essere eseguiti manualmente, programmaticamente, attraverso catene o dall'interno di un file di Workiva.
Per eseguire uno script manualmente:
- Clicca su Esegui script nella barra dei menu in alto.
- Clicca su + Aggiungi variabile.
- Inserisci i nomi e i valori delle variabili d'ambiente da passare come parametri.
- Clicca su Esegui lo script.
Per eseguire uno script in modo programmatico, utilizzare un'autorizzazione API con:
-
script: eseguireper avviare lo script. -
script: leggiper recuperare lo stato di esecuzione, i log o l'output.
Invia una richiesta HTTP POST a l'intestazione POST /scripts/{scriptId}/execution con X-Version: 2026-01-01 . Il corpo della richiesta è obbligatorio. Definire gli input di esecuzione come proprietà JSON con valori di tipo stringa oppure inviare un oggetto JSON vuoto ( {} ) se lo script non richiede input.
L'endpoint restituisce 202 Accepted con un'operazione e un'operazioneLocation . Esegui il polling di quell’URL finché l’operazione non raggiunge lo stato “ ” (completata) , “ ” (fallita) o “ ” (annullata) . La risorsa " " dell'operazione, con URL , identifica lo script risultante dall'esecuzione.
I log dello script includono l'output standard, l'errore standard e i dettagli di esecuzione.
Per ulteriori informazioni, consultare la panoramica sull’API di scripting di Workiva Developers .
Per eseguire uno script tramite catene:
Dovrai utilizzare il connettore Workiva Scripting. Prima di procedere, l'amministratore della sicurezza dell'organizzazione deve abilitare il connettore attraverso la schermata Configurazioni.
Consulta gli articoli qui sotto per saperne di più:
Per eseguire uno script all'interno di un file Workiva, è necessario seguire i passaggi riportati di seguito:
Nel pannello Automazioni di un documento, foglio di calcolo o presentazione, crea una nuova automazione e scegli Esecuzione manuale come trigger.
Aggiungi un'azione Execute script, seleziona lo script che vuoi eseguire e definisci facoltativamente quali utenti o ruoli sono autorizzati ad eseguirlo.
Nota: Solo gli utenti specificati potranno visualizzare ed eseguire l'automazione contenuta nel file.
Ulteriori informazioni su Eseguire script con automazioni.
Crea uno script di prova
Prima di creare script live nel tuo sito, ti consigliamo di creare uno script di pratica nell'editor di script. Questo ti aiuterà a familiarizzare con il processo prima di gestire i dati reali.
Segui questi passaggi per creare un semplice script che calcola il valore temporale del denaro:
- Dalla Home, clicca su + Crea => Script.
- A destra, inserisci un nome e una breve descrizione per lo script.
- Vai nell'editor di script al centro dello schermo e cancella il codice esistente. Dovresti avere una tela vuota.
-
Incolla questo codice nell'editor:
"import os, sys # https://www.investopedia.com/terms/t/timevalueofmoney.asp # Formula del valore temporale del denaro # FV = PV x [1 + (i / n)]^(n x t) # Supponiamo che una somma di 10.000 $ venga investita per un anno al 10% di interesse composto annualmente. # Il valore futuro di quel denaro è: # FV = 10.000 $ x [1 + (10% / 1)] ^ (1 × 1) = 11.000 $ periodi_di_capitalizzazione = {"annuale" : 1, "mensile" : 12, "trimestrale" : 4, "giornaliero" : 365} se 'INVESTIMENTO' non è presente in os.environ: print("Impossibile eseguire lo script.") Manca l'investimento.") sys.exit() if 'INTEREST_RATE' not in os.environ: print("Impossibile eseguire lo script. Manca il tasso di interesse.") sys.exit() if 'COMPOUNDING_PERIOD' not in os.environ: print("Impossibile eseguire lo script. Manca il periodo di capitalizzazione.") sys.exit() if 'YEARS' not in os.environ: print("Impossibile eseguire lo script. Manca il numero di anni.") sys.exit() compounding_period = os.getenv('COMPOUNDING_PERIOD') if compounding_period not in compounding_periods.keys(): print("Impossibile eseguire lo script.", compounding_period," non è un periodo valido") sys.exit() investment = int(os.getenv('INVESTMENT')) interest_rate = float(os.getenv('TASSO_INTERESSE')) anni = int(os.getenv('ANNI')) n = periodi_composti[periodo_composto] FV = investimento * pow((1 + ((tasso_interesse/100) / n)),n * anni) print("Supponiamo che una somma di",investimento, "sia investita per",anni, "anni a",tasso_interesse,"% di interesse composto su",periodo_composto, "base". ") print("Il valore futuro di questo denaro è:") print(FV) - Clicca su Esegui lo script in alto a sinistra.
- Clicca su +Add Variable e inserisci i parametri che desideri utilizzare.
- Clicca su Run Script per terminare.
I risultati dello script possono essere visualizzati nel pannello Output nella parte inferiore dello schermo.
Come ottenere assistenza con Workiva Scripting
Per qualsiasi domanda su Workiva Scripting, puoi contattare Workiva Support. L'assistenza di Workiva può fornire supporto per la personalizzazione del comportamento della piattaforma tramite script, ma non può scrivere né eseguire il debug di codice Python personalizzato.
Puoi anche consultare la sezione " " dedicata allo scripting di Workiva del Centro assistenza per saperne di più, tra cui le nozioni di base sullo scripting, la creazione e la gestione degli script, esempi, risoluzione dei problemi e best practice.
Queste risorse ti aiuteranno a iniziare a lavorare con Workiva Scripting. Per ulteriore assistenza, visita la community delle API Workiva all’indirizzo oppure la community di scripting Workiva all’indirizzo .
Domande frequenti
Come vengono comunemente utilizzati gli script?
Workiva Scripting può automatizzare molte attività ripetibili e lunghe che altrimenti verrebbero completate a mano. Alcuni casi d'uso comuni includono la soppressione delle righe, il layout dei report e l'applicazione di formattazioni personalizzate a più documenti.
Più in generale, gli script possono essere adattati alle vostre specifiche esigenze aziendali, consentendovi di personalizzare e scalare i flussi di lavoro in base alle modalità operative della vostra organizzazione, con un’esecuzione controllata su cui potete fare affidamento. Il codice è tuo; l'utilizzo che ne farai dipende in larga misura dallo sviluppatore dello script, dalla configurazione dell'area di lavoro e dal numero di processi manuali presenti nella tua azienda. E man mano che sempre più attività vengono svolte con l'ausilio dell'intelligenza artificiale, lo scripting fornisce a tali attività una base affidabile e ripetibile su cui agire.
Ci sono limiti per quanto riguarda lo scripting?
Sì, Workiva applica una serie di limiti sia per Workiva Scripting che per l'API di scripting.
Scopri di più sui limiti di scripting di Workiva .
Come si attivano gli script dalle catene?
Questo richiede il connettore Workiva Scripting.
Consulta gli articoli qui sotto per saperne di più:
Lo scripting di Workiva è conforme ai requisiti FedRAMP?
Sì. Gli script vengono eseguiti su un'infrastruttura gestita da Workiva e conforme a FedRAMP, con le stesse autorizzazioni di piattaforma e gli stessi controlli di governance previsti per gli altri contenuti di Workiva.
Come posso proteggere l'accesso agli script?
Ci sono diversi modi per proteggere il tuo codice dall'accesso di utenti non autorizzati:
- Crea uno spazio di lavoro o un'organizzazione dedicata agli utenti autorizzati: La creazione di uno spazio di lavoro, o addirittura di un'intera organizzazione, riservata agli utenti autorizzati è l'opzione più sicura. Ad esempio, i partner possono creare uno spazio di lavoro per Workiva Scripting nella tua organizzazione e far sì che i clienti eseguano gli script dalla propria organizzazione.
- Utilizzo dei ruoli : I ruoli di scripting di Workiva — Script Editor, Script Viewer e Script Runner — sono strutturati su più livelli, in modo che gli utenti possano accedere solo agli script necessari per il proprio lavoro. Il ruolo "Script Runner" consente agli utenti di eseguire script senza visualizzarne il codice.
- Usa i permessi: I file di scripting possono essere limitati a livello di file in modo che solo determinati utenti possano modificare o visualizzare il tuo codice.
Scopri di più sui ruoli e le autorizzazioni di Workiva Scripting su .
Esiste un elenco degli IP consentiti per lo scripting?
Sì, gli IP consentiti per il programma di scripting sono inclusi qui.
È disponibile una libreria di script?
Sì. Abbiamo raccolto una serie di esempi di script da utilizzare. Puoi anche crearne uno personalizzato seguendo le guide pratiche disponibili nella sezione " : Creazione e gestione degli script" ( ) del Centro assistenza.
Come posso gestire le versioni degli script?
Al momento, Workiva memorizza solo l'ultima versione di uno script.
È possibile creare copie dei propri file di script in Workiva e organizzarli in cartelle, ma consigliamo di utilizzare un sistema di controllo delle versioni separato — soprattutto se si dispone di un sistema di controllo delle versioni aziendale; per ulteriori informazioni, consultare Workiva Scripting: Best practice per il processo di sviluppo .
Come faccio a sincronizzare il codice di Workiva con un sistema di controllo della versione aziendale (ad es. GitHub)?
L'API di scripting di Workiva " " ( ) fornisce endpoint di gestione del codice sorgente per il recupero e l'aggiornamento dei file sorgente degli script. Per recuperare le fonti è necessario utilizzare lo script :read ; per creare, aggiornare, caricare o sincronizzare le fonti è necessario utilizzare lo script :write . Workiva non sincronizza automaticamente gli script con sistemi di controllo delle versioni esterni quali GitHub, GitLab o SVN.
Per istruzioni su come creare o aggiornare un'autorizzazione API, consultare e la guida alla configurazione dell'API di Workiva .
Come si accede alle credenziali dei sistemi Workiva e non Workiva da uno script?
Esistono due modi per accedere alle credenziali dei sistemi Workiva e non Workiva:
- Inviare le credenziali come input di runtime (preferibile)
- Codifica le credenziali nel codice
Perché i valori degli input dello script runtime non vengono visualizzati nell'output del log durante l'esecuzione?
Si tratta di una precauzione di sicurezza. Poiché i parametri di input possono contenere dati sensibili, li rimuoviamo dai log rivolti all'utente.
Come posso memorizzare dati temporanei durante l'esecuzione degli script?
Gli script Workiva possono utilizzare la funzione Python `Open` ( ) per leggere e scrivere file temporaneamente nella cartella /tmp . Altri percorsi sono limitati.
Ogni volta che viene eseguito uno script, viene avviato un container nell'infrastruttura cloud di Workiva. Su quel container è installato Linux e tutti i percorsi sono soggetti a restrizioni, ad eccezione di , /tmp e (che è vuoto). I dati possono essere scritti e letti temporaneamente in quel percorso. Una volta terminata l'esecuzione, il contenitore viene cestinato.
Posso definire variabili globali da utilizzare in più script, come le catene?
Non in questa fase. Tuttavia, se lo script viene eseguito nell'ambito di un flusso di lavoro Chains, è possibile utilizzare le variabili Chains e passare i relativi valori allo script come input in fase di esecuzione.
Posso inviare file come parametri?
I file binari possono essere inviati come parametri purché non superino i 128KB e siano codificati in testo (ad esempio, binary to text encoding).
Posso accedere all'ID dell'organizzazione, all'ID dell'area di lavoro e alla regione nei miei script?
Sì, l'ID dell'organizzazione, l'ID dell'area di lavoro e la regione (US, APAC, CA, EU) sono disponibili per lo script tramite variabili d'ambiente. Ad esempio, os.getenv("WORKIVA_ORGANIZATION_ID").
| Variabile | Descrizione |
|---|---|
| WORKIVA_ORGANIZATION_ID | L'ID univoco dell'organizzazione Workiva in cui è ospitato lo script. |
| WORKIVA_ACCOUNT_ID | L'ID univoco dell'area di lavoro Workiva in cui è ospitato lo script. |
| WORKIVA_CLUSTER_DOMAIN | La regione Workiva (USA, APAC, Canada o UE) dell'ambiente di produzione in cui è ospitato lo script. |
| WORKIVA_SCRIPTING_SCRIPT_ID | L'ID univoco dello script Scripting in esecuzione. |
| WORKIVA_SCRIPTING_RUN_ID | L'ID univoco dell'esecuzione corrente dello script. |
| WORKIVA_SCRIPTING_MEMORY_LIMIT | La quantità massima di RAM a disposizione dello script durante una singola esecuzione. |
| WORKIVA_SCRIPTING_DISK_LIMIT | Lo spazio massimo su disco che lo script può utilizzare nella directory /tmp durante una singola esecuzione.
|
Posso utilizzare il codice di uno script Workiva in un altro script Workiva?
Non è possibile importare o richiamare direttamente uno script Workiva da un altro. Se si tratta di un breve frammento di codice riutilizzabile, è possibile copiarlo e incollarlo in ogni script che ne ha bisogno.
Per il codice che si riutilizza in molti script, un approccio migliore consiste nel raggrupparlo in una dipendenza condivisa. È possibile creare un pacchetto dependencies.zip che includa le librerie condivise — e persino il codice client generato dalla specifica dell'API pubblica di Workiva — e quindi caricare lo stesso pacchetto in ogni script che ne ha bisogno. Questo ti permette di conservare il codice comune in un unico posto e di riutilizzarlo in diversi script, invece di copiarlo in ciascuno di essi.
Per le istruzioni su come creare e caricare le dipendenze, consultare Librerie di scripting e dipendenze supportate .