Workiva-skripting er inkludert i Tilpass Workiva. For å bruke skripting må arbeidsområdet ditt ha Tilpass Workiva/skripting aktivert, og brukerne trenger riktig(e) skriptrolle(r) og filtillatelser.
Oppsett og oversikt over skripting
Hvordan brukes skript ofte?
Workiva Scripting kan automatisere mange repeterbare, tidkrevende oppgaver som ellers ville blitt utført manuelt. Noen vanlige brukstilfeller inkluderer undertrykkelse av null rader, rapportoppsett og bruk av tilpasset formatering på flere dokumenter.
Mer generelt kan skript tilpasses dine unike forretningsbehov – slik at du kan skreddersy og skalere arbeidsflyter til måten organisasjonen din jobber på, med styrt utførelse du kan stole på. Koden er din egen; hva du gjør med den avhenger i stor grad av skriptutvikleren din, arbeidsområdets oppsett og det nåværende antallet manuelle prosesser i virksomheten din. Og etter hvert som mer arbeid blir AI-assistert, gir skripting arbeidet et pålitelig og repeterbart grunnlag å handle ut fra.
Er det noen begrensninger for skripting?
Ja, Workiva håndhever en rekke begrensninger for både Workiva Scripting og scripting API-et.
Lær mer om Workiva Scripting-grenser .
Hvordan utløser jeg skript fra kjeder?
Dette krever Workiva Scripting-koblingen.
Se artiklene nedenfor for å lære mer:
Er Workiva Scripting FedRAMP-kompatibel?
Ja. Skript kjøres på Workiva-administrert, FedRAMP-kompatibel infrastruktur, med samme plattformtillatelser og styringskontroller som annet Workiva-innhold.
Hvordan kan jeg beskytte tilgangen til skript?
Det finnes flere måter du kan beskytte koden din mot at uautoriserte brukere får tilgang til den:
- Opprett et dedikert arbeidsområde eller en organisasjon for autoriserte brukere : Å opprette et arbeidsområde, eller til og med en hel organisasjon, med kun autoriserte brukere er det sikreste alternativet. For eksempel kan partnere opprette et arbeidsområde for Workiva-skripting i organisasjonen din og la kunder kjøre skript fra sin egen organisasjon.
- Bruk roller : Workiva-skriptroller – skriptredigerer, skriptviser og skriptkjører – er lagdelt, slik at brukere bare har tilgang til skriptene som trengs for arbeidet deres. Script Runner-rollen lar brukere kjøre skript uten å se koden.
- Bruk tillatelser : Skriptfiler kan begrenses på filnivå, slik at bare bestemte brukere kan redigere eller se koden din.
Lær mer om Workiva Scripting-roller og -tillatelser .
Finnes det en liste over tillatte IP-adresser for skripting?
Ja, tillatte IP-adresser for skriptprogrammet er inkludert her .
Finnes det et skriptbibliotek tilgjengelig?
Ja. Vi har samlet en rekke eksempelskript til din bruk. Du kan også bygge dine egne ved å bruke veiledningsartiklene i delen Opprett og administrer skript i brukerstøtten.
Bruke skriptredigeringsprogrammet
Hvordan administrerer jeg skriptversjoner?
For øyeblikket lagrer Workiva bare den nyeste versjonen av et skript.
Du kan opprette kopier av skriptfilene dine i Workiva og organisere dem i mapper, men vi anbefaler å bruke et separat versjonskontrollsystem – spesielt hvis du har et versjonskontrollsystem for bedrifter, se Workiva Scripting: Beste praksis for utviklingsprosessen .
Hvordan synkroniserer jeg Workiva-kode med et versjonskontrollsystem for bedrifter (f.eks. GitHub)?
Workiva Scripting API tilbyr kildehåndteringsendepunkter for henting og oppdatering av skriptkildefiler. Henting av kilder krever script:read ; oppretting, oppdatering, opplasting eller synkronisering av kilder krever script:write . Workiva synkroniserer ikke automatisk skript med eksterne versjonskontrollsystemer som GitHub, GitLab eller SVN.
For instruksjoner om hvordan du oppretter eller oppdaterer et API-tildelingsprosjekt, se Workiva API-oppsett .
Hvordan får jeg tilgang til påloggingsinformasjon til Workiva- og ikke-Workiva-systemer fra et skript?
Det er to måter å få tilgang til påloggingsinformasjon til Workiva- og ikke-Workiva-systemer:
- Send legitimasjon som kjøretidsinndata (foretrukket)
- Hardkode legitimasjonene i koden
Hvorfor vises ikke verdiene for skriptkjøringsinndataene i loggutdataene under kjøring?
Dette er en sikkerhetsforanstaltning. Fordi inndataparametere kan inneholde sensitive data, fjerner vi dem fra brukerrettede logger.
Hvordan kan jeg lagre midlertidige data under skriptkjøringer?
Workiva-skript kan bruke Python Open-funksjonen til å lese og skrive filer midlertidig i mappen /tmp . Andre stier er begrenset.
Hver gang et skript kjøres, spinnes en container opp i Workivas skyinfrastruktur. Den containeren har Linux installert, og alle stiene er begrenset bortsett fra /tmp (som er tom). Data kan skrives og leses midlertidig i den banen. Når løpet er over, kastes containeren.
Kan jeg definere globale variabler som skal brukes på tvers av flere skript, à la Chains?
Ikke på dette tidspunktet. Men hvis skriptet ditt kjører som en del av en Chains-arbeidsflyt, kan du bruke Chains-variabler og sende verdiene deres til skriptet som kjøretidsinndata.
Kan jeg sende filer som parametere?
Binærfiler kan sendes som parametere så lenge de ikke overstiger 128 KB og er kodet til tekst (dvs. binær til tekst-koding ).
Kan jeg få tilgang til organisasjons-ID-en, arbeidsområde-ID-en og regionen i skriptene mine?
Ja, organisasjons-ID-en, arbeidsområde-ID-en og regionen (USA, Asia-Stillehavsregionen, Canada, EU) er tilgjengelige for skriptet ditt via miljøvariabler. For eksempel, os.getenv("WORKIVA_ORGANIZATION_ID") .
| Variabel | Beskrivelse |
|---|---|
| ARBEIDSORGANISASJON-ID | Den unike ID-en til Workiva-organisasjonen der skriptet ligger. |
| ARBEIDSKONTO-ID | Den unike ID-en til Workiva-arbeidsområdet der skriptet ligger. |
| WORKIVA_CLUSTER_DOMAIN | Workiva-regionen (USA, APAC, CA eller EU) i produksjonsmiljøet der skriptet ligger. |
| WORKIVA_SCRIPTING_SCRIPT_ID | Den unike ID-en til skriptskriptet som kjøres. |
| WORKIVA_SCRIPTING_RUN_ID | Den unike ID-en til gjeldende skriptkjøring. |
| WORKIVA_SCRIPTING_MEMORY_LIMIT | Maksimal mengde RAM som er tilgjengelig for skriptet under en enkelt kjøring. |
| WORKIVA_SCRIPTING_DISK_LIMIT | Maksimal disklagringsplass som skriptet kan bruke i katalogen /tmp under én kjøring.
|
Kan jeg bruke kode fra ett Workiva-skript i et annet Workiva-skript?
Du kan ikke importere eller kalle et Workiva-skript direkte fra et annet. For en liten bit med gjenbrukbar kode kan du kopiere og lime den inn i hvert skript som trenger den.
For kode du bruker om igjen på tvers av mange skript, er en bedre tilnærming å pakke den som en delt avhengighet. Du kan bygge en dependencies.zip -pakke som inkluderer dine delte biblioteker – og til og med klientkode generert fra Workiva public API-spesifikasjonen – og deretter laste opp den samme pakken til hvert skript som trenger den. Dette lar deg opprettholde vanlig kode på ett sted og gjenbruke den på tvers av skript i stedet for å kopiere den til hvert enkelt.
For trinn for hvordan du bygger og laster opp avhengigheter, se Støttede skriptbiblioteker og avhengigheter .
Bruk av skript fra automatiseringer
Kan jeg kjøre et skript som ligger i et annet arbeidsområde, en annen organisasjon eller en annen region (APAC, CA, EU eller USA)?
Workiva-automatiseringer kan bare kjøre skript som ligger i samme arbeidsområde som filen. For å kjøre et skript i et annet arbeidsområde, en annen organisasjon eller en annen region, bruk Workiva Scripting-koblingen eller Workiva Scripting API .
Når du bruker Scripting API-et, må du opprette API-tildelingen i arbeidsområdet som er vert for målskriptet. Tildelingen krever script:execute ; hvis integrasjonen henter kjørestatus, logger eller utdata, krever den også script:read . For instruksjoner om hvordan du oppretter eller oppdaterer et API-tildelingsprosjekt, se Workiva API-oppsett .
Kan jeg sende kjøretidsinndata/parametere ved skriptkjøring?
For øyeblikket tillater ikke automatiseringsfunksjonen kjøretidsinndata som sendes til skriptet når skriptet kjøres.
Hvilke metadata sendes til en skriptutførelse fra en automatisering?Er arbeidsområde-ID-en sendt?
Når et skript kjøres fra en automatisering, sendes følgende parametere:
- DOKUMENT_ID : ID-en til dokumentet der automatiseringen kjøres.
- INPUT_SHEET_ID : WURL-en til regnearket som brukes til å administrere automatiseringens inndataparametere.
- INPUT_RESOURCE_ID : WURL-en til seksjonen i «input»-regnearket.
- INPUT_SPREADSHEET_ID : ID-en til regnearket som er satt inn.
- INPUT_SPREADSHEET_SHEET_ID : ID-en til seksjonen i «input»-regnearket.
For mer informasjon, se Workiva-støttesiden Utfør skript med automatiseringer .
Hvordan får jeg tilgang til påloggingsinformasjon til Workiva- og ikke-Workiva-systemer fra skriptkjøringen?
Når et skript kjøres fra en automatisering, er det eneste alternativet å hardkode legitimasjonen i selve koden.
Kan det samme skriptet kjøres samtidig fra to eller flere filer?
Ja, et skript kan kjøres samtidig fra enten samme fil eller flere filer.
Bruk av skript fra kjeder
Kan jeg kjøre et skript som ligger i et annet arbeidsområde, en annen organisasjon eller en annen region (APAC, Canada, EMEA, USA)?
Ja, et skript som ligger i ett arbeidsområde kan kjøres av en kjede som ligger i et annet arbeidsområde, en annen organisasjon eller et annet miljø.
For å gjøre dette må Workiva Scripting-koblingen som brukes i kjeden konfigureres med en API-bevilgning opprettet i vertsarbeidsområdet, og skript-/IAM-URL-ene som brukes må samsvare med riktig arbeidsområde.
Se følgende artikler for å lære mer:
Kan det samme skriptet kjøres samtidig fra to noder?
Det samme skriptet kan kjøres samtidig fra flere noder i én kjede eller på tvers av flere kjeder.
Hvordan bruker jeg utdataene fra et skript i en annen kjedenode?
Kommandoen Run Script lar deg legge inn en eksempelnyttelast for hver utdata som produserer JSON. Denne utgangen kan deretter brukes i andre noder.
Kan jeg sende en midlertidig fil til et skript fra en kjede?
Du kan angi binærfiler som parametere så lenge de ikke overstiger 128 KB.
API-er og biblioteker
Hvilke API-er og biblioteker støttes?
Workiva Scripting støtter for øyeblikket:
- Workiva offentlige API-er
- Ikke-Workiva API-er
- Pythons standardbibliotek
- Python-pakkeindeksen (PyPI)
Workiva Scripting støtter bare Python for øyeblikket.
Hvis du vil vite mer, kan du se Workiva-støttesiden Støttede Workiva-skriptbiblioteker og -avhengigheter .
Hvilken versjon av Python brukes i Workiva-skripting?
Nye skript kjører på Python 3.13. Workiva Scripting støtter fortsatt eksisterende Python 3.9-skript, men støtten for Python 3.9 avsluttes i oktober 2027 – så du bør migrere alle Python 3.9-skript til Python 3.13 så snart som mulig.
Hvis du vil vite mer, kan du se Workivas støtteside Migrering av skript til Python 3.13 i Workiva .
Tilbyr Workiva API-klienter med populære språk som Python eller Java?
Vi tilbyr for øyeblikket ikke offentlige SDK-er for Python eller Java.
Vi tilbyr imidlertid åpne API-spesifikasjoner for Workiva API-er, slik at du kan generere disse bibliotekene selv. For eksempel kan du hente Workiva Platform API-ens OAS-fil og generere et klientbibliotek .
Finnes det skriptspesifikke API-er tilgjengelig?
Ja. Det offentlige skript-API-et er tilgjengelig via Workiva API-versjonen 2026-01-01. Send X-versjon: 2026-01-01 med hver forespørsel.
Se Scripting API-veiledningen for støttede operasjoner, omfang og krav.
Hvordan oppretter og viser jeg API-tildelinger for Workiva Public API-er?
Du må skaffe deg en klient-ID og en hemmelighet ved å følge instruksjonene her .
Hvordan autoriserer jeg meg til Workiva Public API-ene ved hjelp av Python?
Følgende eksempel henter et tilgangstoken og henter skriptene som er tilgjengelige for API-tilskuddet i arbeidsområdet. API-tildelingen krever omfanget script:read . For instruksjoner om hvordan du oppretter eller oppdaterer et API-tildelingsprosjekt, se Workiva API-oppsett .
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={ "Innholdstype": "application/x-www-form-urlencoded;charset=UTF-8", "X-versjon": 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"Bærer {token_response.json()['access_token']}", "X-versjon": API_VERSION, } scripts_response = requests.get( SCRIPTING_API_URL, headers=headers, timeout=30, ) scripts_response.raise_for_status() print(scripts_response.json()) Hent: * ...Hvordan oppdaterer jeg formatet på celler ved hjelp av Python?
Du kan oppdatere celleformatering fra et skript ved å kalle Workiva Platform APIs endepunkt Oppdater arkinnhold ( POST /spreadsheets/{spreadsheetId}/sheets/{sheetId}/update ).
-
Brukfeltet applyFormats for å bruke formater som fet skrift, tall- og valutaformatering og skyggelegging, og applyBordersforå bruke rammer. - Vi anbefaler at du samler flere formatoperasjoner i én forespørsel – hvert felt godtar en rekke operasjoner, og endepunktet er hastighetsbegrenset – i stedet for å sende én forespørsel per område.
For mer informasjon, se følgende Workiva-utviklersider:
Kan jeg lese/skrive eller laste opp filer som ikke er fra Workiva og som er lagret i Workiva?
Ja. Ved å bruke Workivas API-er for filhåndtering kan du laste opp filer som ikke er fra Workiva – for eksempel PDF-er, bilder eller andre vilkårlige filtyper – til plattformen som Støttedokumenter , som bevarer den opprinnelige filen som den er. For å laste opp en, bruk importfilens endepunkt med Støttedokumenter vises sammen med de andre Workiva-filene dine og kan listes opp, flyttes, kopieres, eksporteres (lastes ned) og kastes i papirkurven som alle andre filer.type satt til SupportingDocument .
Lær mer: Introduksjon til API-er for filbehandling
Kan jeg opprette og administrere automatiseringer programmatisk?
For øyeblikket finnes det ingen endepunkter tilgjengelig for å programmatisk opprette eller administrere automatiseringer.