Nota: Lo scripting è attualmente disponibile solo attraverso Customize Workiva. Per saperne di più.
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.
Detto questo, gli script possono essere adattati a molte esigenze aziendali. 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.
Ci sono limiti allo scripting?
Sì, Workiva applica una serie di limiti sia per Workiva Scripting che per l'API di scripting.
Per saperne di più sui limiti di scripting .
Come si attivano gli script dalle catene?
Questo richiede il connettore Workiva Scripting.
Consulta gli articoli qui sotto per saperne di più:
Workiva Scripting è conforme a Fedramp?
Assolutamente sì. La sicurezza è la nostra massima priorità in Workiva e abbiamo costruito un'infrastruttura che garantisce l'esecuzione di codice sicuro e performante.
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.
- Usa i ruoli: I ruoli di scripting di Workiva (Script Viewer, Script Runner e Script Editor) sono suddivisi in modo che gli utenti abbiano accesso solo agli script necessari per il loro lavoro. Il ruolo Script Runner, ad esempio, consente agli utenti di eseguire gli script ma non di accedere al 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.
Per saperne di più su ruoli e permessi di scripting.
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?
Abbiamo raccolto una serie di esempi di script da utilizzare. Questi script possono anche essere creati manualmente utilizzando gli articoli linkati nella domanda precedente.
Utilizzando l'editor di scripting
Come posso gestire le versioni degli script?
Al momento, Workiva memorizza solo l'ultima versione di uno script.
Puoi creare copie dei tuoi file di script in Workiva e organizzarli in cartelle, ma ti consigliamo di utilizzare un sistema di controllo della versione separato, soprattutto se disponi di un sistema di controllo della versione aziendale.
Come faccio a sincronizzare il codice di Workiva con un sistema di controllo della versione aziendale (ad es. GitHub)?
L'API di Workiva Scripting fornisce endpoint di gestione delle fonti da cui gli utenti possono recuperare l'ultima versione di uno script o aggiornarne una copia più recente. Attualmente Workiva non offre la sincronizzazione automatica tra i file di script e il sistema di controllo della versione aziendale (ad esempio Gitlab, Github, SVN).
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 di Workiva possono utilizzare la funzione Python Open (link esterno) 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. Il container ha installato Linux e tutti i percorsi sono limitati tranne /tmp (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.
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 dello spazio di lavoro e alla regione nei miei script?
Sì, l'id dell'organizzazione, l'id dello spazio di lavoro e la regione (USA, APAC, UE) sono accessibili al tuo codice di script tramite la variabile 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 di Workiva in cui è ospitato lo script. |
| WORKIVA_CLUSTER_DOMAIN | La regione Workiva (USA, APAC o UE) dell'ambiente di produzione in cui è ospitato lo script |
| WORKIVA_SCRIPTING_SCRIPT_ID | L'ID univoco dello script di scripting in esecuzione |
| WORKIVA_SCRIPTING_RUN_ID | L'ID univoco dell'esecuzione dello script corrente |
| WORKIVA_SCRIPTING_MEMORY_LIMIT | La quantità massima di RAM disponibile per lo script durante una singola esecuzione. |
| WORKIVA_SCRIPTING_DISK_LIMIT | Il limite massimo di spazio 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?
Al momento non c'è modo di creare uno script Workiva come libreria e riutilizzare il codice in più script. La soluzione migliore è quella di copiare il codice riutilizzabile e incollarlo negli script secondo le necessità.
Usare gli script dalle automazioni
Posso eseguire uno script ospitato in un altro workspace, organizzazione o ambiente (APAC, EU, US)?
La funzione automazioni in Workiva può eseguire gli script solo nello stesso workspace in cui si trova il file. Tuttavia, il connettore Workiva Scripting o l'API Workiva Scripting possono essere utilizzati per eseguire uno script ospitato in un altro luogo.
Se usi l'API di scripting, devi creare e ospitare uno script nel workspace principale il cui unico scopo è chiamare l'API di scripting ed eseguire lo script nel workspace secondario.
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 da un'automazione, l'unico parametro inviato è l'ID del documento in cui è configurata l'automazione.
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 workspace, organizzazione o ambiente (APAC, EU, US)?
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.
Consulta gli articoli qui sotto per saperne di più:
Lo stesso script può essere eseguito contemporaneamente da due nodi?
Lo stesso script può essere eseguito contemporaneamente da più nodi della stessa Catena e/o da più Catene.
Come posso utilizzare l'output di uno script in un altro nodo della catena?
Il comando Run Script ti permette di inserire un payload di esempio per ogni output che produce JSON, che può essere utilizzato in altri nodi.
È possibile creare un file temporale in una catena tramite parametri dello script?
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)
Il supporto per altri linguaggi è ancora in fase di studio e potrebbe essere implementato in futuro.
Per saperne di più: Librerie e dipendenze di Workiva Scripting supportate
Quale versione di Python viene utilizzata in Workiva Scripting?
Workiva Scripting supporta attualmente Python 3.9 e Python 3.13, ma il supporto all'uso di Python 3.9 terminerà nel marzo 2026.
Per saperne di più: 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?
Gli endpoint delle API di scripting sono disponibili come endpoint prototipo all'interno della piattaforma Prototype API di Workiva .
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?
Il seguente frammento di codice effettua una chiamata al servizio IAM per generare un token di accesso che viene poi utilizzato per autenticarsi negli endpoint del prototipo Scripting. Otterrà un elenco di tutti gli script a cui la concessione API (cioè il cliente) ha accesso nell'area di lavoro in cui è stata creata la concessione.
import requests import json import os AUTH_URL = "https://api.app.wdesk.com/iam/v1/oauth2/token" SCRIPTING_API_URL = "https://api.app.wdesk.com/prototype/platform/scripts/" CLIENT_ID = os.getenv('CLIENT_ID') CLIENT_SECRET = os.getenv('CLIENT_SECRET') tokenResponse = requests.post( AUTH_URL, data = 'client_id=' + CLIENT_ID + '&client_secret=' + CLIENT_SECRET + '&grant_type=client_credentials', headers = {'Content-Type': 'application/x-www-form-urlencoded; \ charset=UTF-8'}) accessToken = 'Bearer ' + json.loads(tokenResponse.text)['access_token'] dataRes = requests.get(SCRIPTING_API_URL, headers = {'Authorization': accessToken}) print(json.loads(dataRes.text))
Come posso aggiornare il formato delle celle utilizzando Python?
Il prototipo Update Sheet Content permette di aggiornare il formato delle celle utilizzando il codice Python.
Posso leggere/scrivere o caricare file non Workiva archiviati in Workiva?
Al momento non sono disponibili endpoint per leggere/scrivere o caricare file non Workiva archiviati in Workiva.
Posso creare e gestire le automazioni in modo programmatico?
Al momento non sono disponibili endpoint per creare o gestire le automazioni in modo programmatico.