Workiva Scripting fornisce una piattaforma flessibile e sicura per l'esecuzione di codice Python sul software Workiva. Scrivendo script personalizzati che eseguono automaticamente processi ripetibili, puoi creare efficienza in scala su più report, file e spazi di lavoro.
Nota: Al momento lo scripting è disponibile solo attraverso la personalizzazione di Workiva. Per saperne di più.
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 uno spazio 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. |
Suggerimento: Piuttosto che utilizzare il ruolo di Script Runner, consigliamo alla maggior parte degli utenti non tecnici di avviare gli script tramite le automazioni integrate .
Puoi anche controllare l'accesso per ogni singolo file assegnando i permessi . Poiché i permessi sostituiscono i ruoli, i proprietari e i creatori di script possono concedere o limitare l'accesso a singoli file.
| Autorizzazione | Livello di accesso |
|---|---|
| Visualizzatore | Può eseguire e visualizzare gli script. |
| Editor | Può eseguire, modificare e visualizzare gli script. |
| Gestore | Può eseguire, modificare, visualizzare e creare script. |
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 script.
Per eseguire uno script in modo programmatico, fai una richiesta HTTP POST all'endpoint prototipo Initiate a script execution .
L'ID dello script è incluso nell'endpoint; puoi passare i parametri definendo i nomi e i valori delle variabili ambientali nel corpo della richiesta POST.
Gli output degli script vengono registrati come stderr e stdout, insieme ad alcune metriche di utilizzo per monitorare la salute del prodotto.
Per eseguire uno script attraverso le 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 di Workiva, devi seguire i seguenti passi
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.
Solo gli utenti specificati vedranno e potranno eseguire l'automazione all'interno del 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 dollari venga investita per un anno con un interesse del 10% composto annualmente. # Il valore futuro di questo denaro è: # FV = $10.000 x [1 + (10% / 1)] ^ (1 x 1) = $11.000 compounding_periods = {"annual" : 1, "monthly" : 12, "quarterly" : 4, "daily" :365} if 'INVESTMENT' not 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. Tieni presente, tuttavia, che i nostri agenti possono solo rispondere a domande sulla piattaforma stessa - non possiamo aiutarti a scrivere o a risolvere i problemi del tuo codice.
Abbiamo anche una serie di soluzioni disponibili qui nel Centro di assistenza:
- Librerie di scripting e dipendenze supportate
- Esempio: Script per aggiornare i fogli di calcolo
- Aggiungere, caricare ed eliminare file sorgente di scripting
- Esegui gli script con le automazioni
- Memorizzare i risultati degli script
- Limiti di Workiva Scripting
- Esempi di script
Queste risorse ti aiuteranno a iniziare a lavorare con Workiva Scripting. Per domande relative all'utilizzo delle API pubbliche di Workiva per scrivere il tuo codice per interagire con la Piattaforma Workiva in modo programmatico, utilizza la nostra Developers & APIs Community.
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.
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. Anche questi script possono essere creati manualmente utilizzando gli articoli linkati nella domanda precedente.
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 al momento è quella di copiare il codice riutilizzabile e incollarlo negli script secondo le necessità.