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.
Finnes 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?
Absolutt. Sikkerhet er vår topprioritet hos Workiva, og vi har bygget en infrastruktur som garanterer at kodekjøringene dine er både sikre og effektive. Skriptene dine kjøres på Workiva-administrert, FedRAMP-kompatibel infrastruktur – innenfor samme pålitelige plattform, tillatelser og styring som resten av Workiva-arbeidet ditt.
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, skriptvisning og skriptkjører) er lagdelt slik at brukerne bare har tilgang til skriptene som er nødvendige for jobben deres. Script Runner-rollen lar for eksempel brukere kjøre skript, men ikke få tilgang til noe av 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 delenOpprett og administrer skripti 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, seWorkiva Scripting: Beste praksis for utviklingsprosessen.
Hvordan synkroniserer jeg Workiva-kode med et versjonskontrollsystem for bedrifter (f.eks. GitHub)?
Workiva Scripting API tilbyr endepunkter for kildehåndtering der brukere kan hente den nyeste versjonen av et skript eller oppdatere et skript til en nyere kopi. Workiva tilbyr for øyeblikket ikke automatisk synkronisering mellom skriptfiler og bedriftens versjonskontrollsystem (f.eks. Gitlab, Github, SVN).
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 (ekstern lenke) til å lese og skrive filer midlertidig i /tmp -mappen. 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, arbeidsområde-ID og region i skriptene mine?
Ja, organisasjons-ID-en, arbeidsområde-ID-en og regionen (USA, Asia-Stillehavsregionen, EU) er tilgjengelige for skriptkoden din via miljøvariabelen. 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, Asia-Stillehavsregionen 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 endependencies.zip-pakke som inkluderer dine delte biblioteker – og til og med klientkode generert fraWorkiva 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, seStø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 et annet miljø (APAC, EU, USA)?
Automatiseringsfunksjonen i Workiva kan bare kjøre skript i samme arbeidsområde der filen befinner seg. Workiva Scripting-koblingen eller Workiva Scripting API kan imidlertid brukes til å kjøre et skript som ligger på et annet sted.
Hvis du bruker skript-API-et, må du opprette og drifte et skript i hovedarbeidsområdet, der det eneste formålet er å kalle skript-API-et og kjøre skriptet i det sekundære arbeidsområdet.
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 et annet miljø (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 innenfor samme kjede og/eller 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 en temporal fil opprettes i en kjede av parametere i skriptet?
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.
Lær mer: 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.
Lær mer: Migrere 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. Skripting API-endepunkter er for øyeblikket tilgjengelige som prototype-endepunkter i Workivas Prototype Platform API.
Endepunkter for Public Scripting API vil være tilgjengelige sommeren 2026. Når de er tilgjengelige, forventes det at du migrerer til de offentlige endepunktene – støtte for ikke-offentlige endepunkter (inkludert prototype) for Workiva Scripting opphører i oktober 2027.
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 kodestykke foretar et kall til IAM-tjenesten for å generere et tilgangstoken som deretter brukes til å autentisere til skriptprototypens endepunkter. Den vil få en liste over alle skriptene som API-tilskuddet (dvs. klienten) har tilgang til i arbeidsområdet der tildelingen ble opprettet.
importforespørsler 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 = 'Bærer ' + * Denne koden er i hovedsak CLIENT_ID-ID og kan oversettes til en annen språkbruker. Den er i hovedsak CLIENT_ID-adresse som bruker CLIENT_SECRET. Selve koden trenger ikke oversettes, da den er plattformuavhengig. json.loads(tokenResponse.text)['access_token'] dataRes = requests.get(SCRIPTING_API_URL, headers = {'Authorization': accessToken}) print(json.loads(dataRes.text))
Hvordan oppdaterer jeg formatet på celler ved hjelp av Python?
Du kan oppdatere celleformatering fra et skript ved å kalle Workiva Platform APIs endepunktOppdater arkinnhold(POST /spreadsheets/{spreadsheetId}/sheets/{sheetId}/update). Bruk feltetapplyFormatsfor å bruke formater som fet skrift, tall- og valutaformatering og skyggelegging, ogapplyBordersfor å bruke rammer. Grupper 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.
Lær mer:Oppdater arkinnholdog veiledningen for regnearksdata.
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 somStøttedokumenter, som bevarer den opprinnelige filen som den er. For å laste opp en, bruk importfilens endepunkt medtypesatt tilSupportingDocument. 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.
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.