Workiva Scripting è incluso in Customize Workiva. Per poter utilizzare lo scripting, nell'area di lavoro deve essere abilitata l'opzione "Personalizza Workiva/Scripting" e gli utenti devono disporre dei ruoli di scripting appropriati e delle autorizzazioni sui file necessarie.
Configurazione e panoramica dello scripting
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.
Esistono limiti relativi allo 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 alle norme 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.
Utilizzando l'editor di scripting
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 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 temporanei 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 .
Usare gli script dalle automazioni
Posso eseguire uno script ospitato in un altro spazio di lavoro, in un'altra organizzazione o in un'altra regione (APAC, CA, UE o Stati Uniti)?
Le automazioni di Workiva possono eseguire solo script che si trovano nello stesso spazio di lavoro del file. Per eseguire uno script in un altro spazio di lavoro, in un'altra organizzazione o in un'altra regione, utilizzare il connettore Workiva Scripting " " oppure l'API Workiva Scripting " " .
Quando si utilizza l'API di scripting, creare l'autorizzazione API nell'area di lavoro che ospita lo script di destinazione. La sovvenzione richiede script:execute ; se l'integrazione recupera lo stato di esecuzione, i log o l'output, richiede anche script:read . Per istruzioni su come creare o aggiornare un'autorizzazione API, consultare Configurazione dell'API di Workiva .
Posso inviare input/parametri di runtime durante l'esecuzione dello script?
Al momento, la funzione di automazione non consente di inviare input di runtime allo script quando questo viene eseguito.
Quali metadati vengono inviati all'esecuzione di uno script da un'automazione?L'ID del workspace viene inviato?
Quando uno script viene eseguito tramite un'automazione, vengono inviati i seguenti parametri:
- DOCUMENT_ID: L'ID del documento in cui viene eseguita l'automazione.
- INPUT_SHEET_ID: Il WURL del foglio di calcolo utilizzato per gestire i parametri di input dell'automazione.
- INPUT_RESOURCE_ID : il WURL della sezione nel foglio di calcolo "input".
- INPUT_SPREADSHEET_ID : l'ID del foglio di calcolo "input".
- INPUT_SPREADSHEET_SHEET_ID : l'ID della sezione nel foglio di calcolo "input".
Per ulteriori informazioni, consulta la pagina di assistenza di Workiva Eseguire script con le automazioni .
Come si accede alle credenziali dei sistemi Workiva e non Workiva dall'esecuzione dello script?
Quando uno script viene eseguito da un'automazione, l'unica possibilità è quella di codificare le credenziali nel codice stesso.
Lo stesso script può essere eseguito contemporaneamente da due o più file?
Sì, uno script può essere eseguito contemporaneamente dallo stesso file o da più file.
Usare gli script delle catene
Posso eseguire uno script ospitato in un altro spazio di lavoro, in un’altra organizzazione o in un’altra regione (APAC, Canada, EMEA, Stati Uniti)?
Sì, uno script ospitato in uno spazio di lavoro può essere eseguito da una catena ospitata in un altro spazio di lavoro, organizzazione o ambiente.
A tal fine, il connettore Workiva Scripting utilizzato nella catena deve essere configurato con una concessione API creata nell'area di lavoro host e gli URL di scripting/IAM utilizzati devono corrispondere all'area di lavoro corretta.
Per saperne di più, consulta i seguenti articoli:
Lo stesso script può essere eseguito contemporaneamente da due nodi?
Lo stesso script può essere eseguito contemporaneamente da più nodi all’interno di una stessa catena o su più catene.
Come posso utilizzare l'output di uno script in un altro nodo della catena?
Il comando "Esegui script" ( ) consente di inserire un payload di esempio per ogni output che genera JSON. Questo output può quindi essere utilizzato in altri nodi.
È possibile passare un file temporaneo a uno script da una catena?
Puoi impostare i file binari come parametri a patto che non superino i 128KB.
API e librerie
Quali API e librerie sono supportate?
Workiva Scripting supporta attualmente:
- API pubbliche Workiva
- API non Workiva
- Libreria standard di Python
- Indice dei pacchetti Python (PyPI)
Al momento, Workiva Scripting supporta solo Python.
Per ulteriori informazioni, consulta la pagina di assistenza di Workiva e le librerie di scripting e le dipendenze supportate da Workiva .
Quale versione di Python viene utilizzata in Workiva Scripting?
I nuovi script funzionano su Python 3.13. Workiva Scripting continua a supportare gli script esistenti scritti in Python 3.9, ma il supporto per Python 3.9 terminerà nell'ottobre 2027; pertanto, è consigliabile migrare quanto prima tutti gli script scritti in Python 3.9 a Python 3.13.
Per ulteriori informazioni, consulta la pagina di assistenza di Workiva Migrazione degli script a Python 3.13 in Workiva .
Workiva fornisce client API per linguaggi popolari come Python o Java?
Al momento non forniamo SDK pubblici per Python o Java.
Tuttavia, forniamo specifiche API aperte per le API di Workiva in modo che tu possa generare queste librerie da solo. Ad esempio, puoi ottenere il file OAS di Workiva Platform API e generare una libreria client.
Sono disponibili API specifiche per lo scripting?
Sì. L'API di scripting pubblica è disponibile a partire dalla versione 2026-01-01 dell'API di Workiva. Invia "X-Version: 2026-01-01" con ogni richiesta.
Per informazioni sulle operazioni supportate, gli ambiti di applicazione e i requisiti, consultare la guida all’API di scripting di all’indirizzo .
Come si creano e si visualizzano le sovvenzioni API per le API pubbliche di Workiva?
Devi ottenere un ID cliente e un segreto seguendo le istruzioni qui.
Come faccio ad autorizzare le API pubbliche di Workiva utilizzando Python?
L'esempio seguente ottiene un token di accesso e recupera gli script accessibili tramite l'autorizzazione API nel proprio spazio di lavoro. La concessione dell'API richiede l'ambito script:read . Per istruzioni su come creare o aggiornare un'autorizzazione API, consultare Configurazione dell'API di Workiva .
import os import requests AUTH_URL = "https://api.app.wdesk.com/oauth2/token" SCRIPTING_API_URL = "https://api.app.wdesk.com/scripts" API_VERSION = "2026-01-01" CLIENT_ID = os.environ["CLIENT_ID"] CLIENT_SECRET = os.environ["CLIENT_SECRET"] token_response = requests.post( AUTH_URL, headers={ "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", "X-Version": API_VERSION, }, data={ "client_id": CLIENT_ID, "client_secret": CLIENT_SECRET, "grant_type": "client_credentials", }, timeout=30, ) token_response.raise_for_status() headers = { "Authorization": f"Bearer {token_response.json()['access_token']}", "X-Version": API_VERSION, } scripts_response = requests.get( SCRIPTING_API_URL, headers=headers, timeout=30, ) scripts_response.raise_for_status() print(scripts_response.json())Come posso aggiornare il formato delle celle utilizzando Python?
È possibile aggiornare la formattazione delle celle tramite uno script richiamando l'endpoint " " (Aggiorna contenuto del foglio) dell'API della piattaforma Workiva ( ) ( POST /spreadsheets/{spreadsheetId}/sheets/{sheetId}/update ).
- Utilizza il campo `
applyFormats ` per applicare formattazioni quali grassetto, formattazione di numeri e valute e ombreggiatura, e `applyBorders `per applicare i bordi. - Ti consigliamo di raggruppare più operazioni di formattazione in un'unica richiesta — ogni campo accetta un array di operazioni e l'endpoint è soggetto a limiti di frequenza — anziché inviare una richiesta per ogni intervallo.
Per ulteriori informazioni, consultare le seguenti pagine di Workiva dedicate agli sviluppatori:
Posso leggere/scrivere o caricare file non Workiva archiviati in Workiva?
Sì. Utilizzando le API di gestione dei file di Workiva, è possibile caricare file non Workiva — come PDF, immagini o altri tipi di file arbitrari — sulla piattaforma come Supporting Documents , che conservano il file originale così com’è. Per caricarne uno, utilizzare l'endpoint di importazione file con , tipo impostato su e SupportingDocument . I documenti di supporto vengono visualizzati insieme agli altri file di Workiva e possono essere visualizzati nell'elenco, spostati, copiati, esportati (scaricati) ed eliminati come qualsiasi altro file.
Per saperne di più: Introduzione alle API per la gestione dei file
Posso creare e gestire le automazioni in modo programmatico?
Al momento non sono disponibili endpoint per creare o gestire le automazioni in modo programmatico.