Workiva Scripting tilbyr et fleksibelt og sikkert miljø for å kjøre Python-kode på Workiva-plattformen. Ved å skrive tilpassede skript som automatisk utfører repeterbare prosesser, kan du oppnå effektivitet i stor skala på tvers av flere rapporter, filer og arbeidsområder. Og etter hvert som mer arbeid blir AI-assistert, gir skripting arbeidet et pålitelig og styrt grunnlag å bygge videre på – og kombinerer fleksibilitet med kontrollen som trengs for å gjøre automatisering om til repeterbare resultater du kan stole på.
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.
Roller og tillatelser
Roller er en systemomfattende innstilling i Workiva, som betyr at de etablerer et standard tilgangsnivå for hvert skript i et arbeidsområde. Det finnes tre Workiva Scripting-roller som kan tildeles av arbeidsområdeadministratoren din.
| Rolle | Tilgangsnivå |
|---|---|
| Skriptløper | Kan kjøre skript. |
| Skriptvisning | Kan se skript. |
| Skriptredigerer | Kan vise, opprette og redigere skript. |
Hvis du vil ha mer informasjon, kan du se støttesiden for Skriptroller og -tillatelser.
Slik bruker du Workiva-skripting
Når de er aktivert i arbeidsområdet ditt, vil skript vises på startskjermen sammen med de andre regnearkene, dokumentene og presentasjonene på nettstedet ditt. Du kan enten opprette et nytt skript eller velge et eksisterende fra fillisten.
Skriptredigeringsprogrammet er der du bygger, redigerer og kjører skriptene på nettstedet ditt.
Det inkluderer:
- Et midtre lerrethvor du skal skrive manuset
- En utdataseksjon nederst hvor du kan se resultatene av skriptets kjøring
- En menylinje øverst hvor du lagrer eller kjører skriptet
- Et egenskapspanel til høyre for å administrere skriptegenskaper og kjørehistorikk
- Et kildepanel på venstre side
Når skript er bygget, kan de kjøres manuelt, programmatisk, gjennom kjeder eller fra en Workiva-fil.
Slik kjører du et skript manuelt:
- Klikk på Kjør skript i menylinjen øverst på skjermen.
- Klikk på + Legg til variabel.
- Skriv inn navnene og verdiene til miljøvariablene som skal sendes som parametere.
- Klikk på Kjør skript.
For å kjøre et skript programmatisk, send en HTTP POST-forespørsel til prototype-endepunktet Initier en skriptkjøring .
Skript-ID-en er inkludert i endepunktet; du kan sende parametere ved å definere navnene og verdiene til miljøvariablene i brødteksten til POST-forespørselen.
Skriptutdata logges som stderr og stdout, sammen med noen bruksmålinger for å overvåke produktets tilstand.
Slik kjører du et skript gjennom kjeder:
Du må bruke Workiva Scripting-koblingen. Før dette gjøres, må en sikkerhetsadministrator i organisasjonen aktivere koblingen via konfigurasjonsskjermen.
Se artiklene nedenfor for å lære mer:
For å kjøre et skript i en Workiva-fil, må du følge trinnene nedenfor:
I Automatiseringer-panelet i et dokument, regneark eller en presentasjon oppretter du en ny automatisering og velger Manuell utførelse som utløser.
Legg til en Utfør skript -handling, velg skriptet du vil kjøre, og definer eventuelt hvilke brukere eller roller som er autorisert til å kjøre det.
Merk: Bare de angitte brukerne vil se og kunne kjøre automatiseringen i filen.
Lær mer om Utfør skript med automatiseringer.
Lag et øvingsskript
Før du oppretter live-skript på nettstedet ditt, anbefaler vi at du oppretter et øvingsskript i skriptredigeringsprogrammet. Dette vil hjelpe deg med å bli kjent med prosessen før du håndterer livedata.
Følg disse trinnene for å lage et enkelt skript som beregner tidsverdien av penger:
- Fra Hjem, klikk på + Opprett => Skript.
- På høyre side skriver du inn et navn og en kort beskrivelse av skriptet.
- Gå til skripteditoren midt på skjermen og slett all eksisterende kode. Du burde ha et blankt lerret.
-
Lim inn denne koden i editoren:
import os, sys # https://www.investopedia.com/terms/t/timevalueofmoney.asp # Formel for tidsverdien av penger # FV = PV x [1 + (i / n)]^(nxt) # Anta at en sum på $10 000 investeres i ett år med 10 % rente beregnet årlig. # Den fremtidige verdien av disse pengene er: # 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("Kan ikke kjøre skriptet. Investering mangler.") sys.exit() hvis 'INTEREST_RATE' ikke er i os.environ: print("Kan ikke kjøre skriptet. Rentesats mangler.") sys.exit() hvis 'COMPOUNDING_PERIOD' ikke er i os.environ: print("Kan ikke kjøre skriptet. Sammensatt punktum mangler.") sys.exit() hvis 'ÅR' ikke er i os.environ: print("Kan ikke kjøre skriptet. Antall år mangler.") sys.exit() compounding_period = os.getenv('COMPOUNDING_PERIOD') hvis compounding_period ikke er i compounding_periods.keys(): print("Kan ikke kjøre skriptet.", compounding_period," er ikke en gyldig periode") sys.exit() investment = int(os.getenv('INVESTMENT')) interest_rate = float(os.getenv('INTEREST_RATE')) years = int(os.getenv('YEARS')) n = compounding_periods[compounding_period] FV = investment * pow((1 + ((interest_rate/100) / n)),n * years) print("Anta at en sum av",investering,"er investert i",år,"år(er) til",\ interest_rate,"% rente sammensatt på",compounding_period,"basis. ") print("Den fremtidige verdien av disse pengene er:") utskrift (FV) - Klikk på Kjør skript øverst til venstre.
- Klikk på +Legg til variabel og skriv inn eventuelle parametere du vil bruke.
- Klikk på Kjør skriptfor å fullføre.
Skriptresultatene kan nå vises i Utdata-panelet nederst på skjermen.
Slik får du støtte med Workiva Scripting
Du kan kontakte Workiva Supporthvis du har spørsmål om Workiva Scripting. Vær imidlertid oppmerksom på at våre agenter kun kan hjelpe med spørsmål om selve plattformen – vi kan ikke hjelpe med å skrive eller feilsøke koden din.
Du kan også utforskeWorkiva Scripting-deleni støttesenteret for å lære mer – inkludert det grunnleggende om skripting, oppretting og administrasjon av skript, eksempler, feilsøking og beste praksis.
Disse ressursene vil hjelpe deg med å komme i gang med Workiva-skripting. Hvis du har spørsmål knyttet til bruk av Workiva Public API-er for å skrive kode for å samhandle programmatisk med Workiva-plattformen, kan du bruke vårt Utviklere og API-fellesskap.
Vanlige spørsmål
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.
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.