Skrypty Workiva są zawarte w module Customize Workiva. Aby móc korzystać ze skryptów, w obszarze roboczym musi być włączona opcja Dostosowywanie Workiva/Skryptów, a użytkownicy muszą mieć odpowiednie role skryptowe i uprawnienia do plików.
Konfiguracja i przegląd skryptów
Jak najczęściej używa się skryptów?
Dzięki narzędziu Workiva Scripting można zautomatyzować wiele powtarzalnych, czasochłonnych zadań, które w innym przypadku trzeba by wykonać ręcznie. Do typowych przypadków użycia należą: usuwanie wierszy zerowych, układy raportów i stosowanie niestandardowego formatowania w wielu dokumentach.
Mówiąc szerzej, skrypty można dostosować do unikalnych potrzeb Twojej firmy — co pozwala Ci dostosowywać i skalować przepływy pracy do sposobu działania Twojej organizacji, z możliwością kontrolowanego wykonywania, na którą możesz liczyć. Kod jest Twoją własnością i to, co z nim zrobisz, w dużej mierze zależy od Twojego twórcy skryptu, konfiguracji obszaru roboczego i bieżącej liczby procesów ręcznych w Twojej firmie. W miarę jak coraz więcej zadań jest wykonywanych ze wsparciem sztucznej inteligencji, Scripting zapewnia tym zadaniom niezawodną, powtarzalną podstawę do działania.
Czy istnieją jakieś limity dotyczące skryptów?
Tak, Workiva nakłada szereg ograniczeń zarówno na Workiva Scripting, jak i na API skryptów.
Dowiedz się więcej o ograniczeniach skryptów Workiva .
Jak uruchamiać skrypty z poziomu Chains?
Wymaga to łącznika Workiva Scripting.
Aby dowiedzieć się więcej, zobacz poniższe artykuły:
Czy Workiva Scripting jest zgodny z FedRAMP?
Tak. Skrypty są wykonywane w ramach infrastruktury zarządzanej przez Workiva i zgodnej ze standardem FedRAMP, z takimi samymi uprawnieniami platformy i mechanizmami kontroli zarządzania, jak inne treści Workiva.
Jak mogę zabezpieczyć dostęp do skryptów?
Istnieje kilka sposobów zabezpieczenia kodu przed dostępem nieautoryzowanych użytkowników:
- Utwórz wydzieloną przestrzeń roboczą lub organizację dla autoryzowanych użytkowników : Utworzenie przestrzeni roboczej lub nawet całej organizacji wyłącznie dla autoryzowanych użytkowników jest najbezpieczniejszą opcją. Na przykład partnerzy mogą utworzyć przestrzeń roboczą dla Workiva Scripting w swojej organizacji i zlecić klientom uruchamianie skryptów z poziomu własnej organizacji.
- Użyj ról : Role w Workiva Scripting — Edytor skryptów, Przeglądarka skryptów i Uruchamiacz skryptów — są podzielone na poziomy, dzięki czemu użytkownicy mogą uzyskiwać dostęp wyłącznie do skryptów potrzebnych do ich pracy. Rola Script Runner umożliwia użytkownikom uruchamianie skryptów bez konieczności przeglądania kodu.
- Użyj uprawnień : Pliki skryptów można ograniczyć na poziomie pliku, tak aby tylko określeni użytkownicy mogli edytować lub przeglądać kod.
Dowiedz się więcej o rolach i uprawnieniach skryptów Workiva .
Czy istnieje lista adresów IP dozwolonych do tworzenia skryptów?
Tak, dozwolone adresy IP dla programu skryptowego są zawarte tutaj .
Czy jest dostępna biblioteka skryptów?
Tak. Zebraliśmy kilka przykładowych skryptów do Twojego użytku. Możesz również utworzyć własny skrypt, korzystając z artykułów instruktażowych w sekcji Tworzenie i zarządzanie skryptami w Centrum pomocy.
Korzystanie z edytora skryptów
Jak zarządzać wersjami skryptu?
W tej chwili Workiva przechowuje tylko najnowszą wersję skryptu.
Możesz tworzyć kopie plików skryptów w oprogramowaniu Workiva i organizować je w folderach, jednak zalecamy korzystanie z osobnego systemu kontroli wersji — zwłaszcza jeśli posiadasz system kontroli wersji dla przedsiębiorstw. Zobacz Skrypty w oprogramowaniu Workiva: najlepsze praktyki w zakresie procesu rozwoju .
Jak zsynchronizować kod Workiva z systemem kontroli wersji przedsiębiorstwa (np. GitHub)?
Interfejs API skryptów Workiva udostępnia punkty końcowe zarządzania źródłami umożliwiające pobieranie i aktualizowanie plików źródłowych skryptów. Pobieranie źródeł wymaga skryptu script:read ; tworzenie, aktualizowanie, przesyłanie lub synchronizowanie źródeł wymaga skryptu script:write . Workiva nie synchronizuje automatycznie skryptów z zewnętrznymi systemami kontroli wersji, takimi jak GitHub, GitLab czy SVN.
Instrukcje dotyczące tworzenia lub aktualizowania przyznania API można znaleźć w dokumencie Konfiguracja interfejsu API Workiva .
Jak uzyskać dostęp do danych uwierzytelniających do systemów Workiva i innych niż Workiva ze skryptu?
Istnieją dwa sposoby uzyskania dostępu do danych uwierzytelniających w systemach Workiva i innych niż Workiva:
- Wyślij poświadczenia jako dane wejściowe w czasie wykonywania (preferowane)
- Zakoduj dane uwierzytelniające na stałe w kodzie
Dlaczego wartości danych wejściowych środowiska wykonawczego skryptu nie są wyświetlane w dzienniku wyników podczas wykonywania?
Jest to środek ostrożności. Ponieważ parametry wejściowe mogą zawierać poufne dane, usuwamy je z dzienników widocznych dla użytkowników.
Jak mogę przechowywać dane tymczasowe podczas wykonywania skryptu?
Skrypty Workiva mogą używać funkcji Python Open do tymczasowego odczytu i zapisu plików w folderze /tmp . Inne ścieżki są ograniczone.
Za każdym razem, gdy uruchamiany jest skrypt, w infrastrukturze chmurowej Workiva tworzony jest kontener. W tym kontenerze zainstalowany jest system Linux, a wszystkie ścieżki są ograniczone, z wyjątkiem /tmp (która jest pusta). Na tej ścieżce dane mogą być tymczasowo zapisywane i odczytywane. Po zakończeniu cyklu pojemnik zostaje wyrzucony do śmieci.
Czy mogę zdefiniować zmienne globalne do wykorzystania w wielu skryptach, na wzór Chains?
Nie w tym momencie. Jeśli jednak skrypt jest uruchamiany jako część przepływu pracy Chains, możesz użyć zmiennych Chains i przekazać ich wartości do skryptu jako dane wejściowe w czasie wykonywania.
Czy mogę wysłać pliki jako parametry?
Pliki binarne można przesyłać jako parametry, pod warunkiem, że nie przekraczają one 128 KB i są zakodowane do postaci tekstu (tj. kodowanie binarne do tekstu ).
Czy mogę uzyskać dostęp do identyfikatora organizacji, identyfikatora obszaru roboczego i regionu w moich skryptach?
Tak, identyfikator organizacji, identyfikator obszaru roboczego i region (USA, APAC, Kalifornia, UE) są dostępne w skrypcie poprzez zmienne środowiskowe. Na przykład os.getenv("WORKIVA_ORGANIZATION_ID") .
| Zmienny | Opis |
|---|---|
| WORKIVA_ORGANIZATION_ID | Unikalny identyfikator organizacji Workiva, w której hostowany jest skrypt. |
| WORKIVA_ACCOUNT_ID | Unikalny identyfikator przestrzeni roboczej Workiva, w której hostowany jest skrypt. |
| WORKIVA_CLUSTER_DOMAIN | Region Workiva (USA, APAC, Kalifornia lub UE) środowiska produkcyjnego, w którym hostowany jest skrypt. |
| WORKIVA_SCRIPTING_SCRIPT_ID | Unikalny identyfikator uruchamianego skryptu. |
| WORKIVA_SCRIPTING_RUN_ID | Unikalny identyfikator aktualnie uruchomionego skryptu. |
| LIMIT PAMIĘCI SKRYPTÓW WORKIVA | Maksymalna ilość pamięci RAM dostępna dla skryptu podczas pojedynczego uruchomienia. |
| WORKIVA_SCRIPTING_DISK_LIMIT | Maksymalna ilość miejsca na dysku, jaką skrypt może wykorzystać w katalogu /tmp podczas jednego uruchomienia.
|
Czy mogę wykorzystać kod z jednego skryptu Workiva w innym skrypcie Workiva?
Nie można bezpośrednio importować ani wywoływać jednego skryptu Workiva z innego. Jeśli chcesz uzyskać niewielki fragment kodu nadającego się do ponownego wykorzystania, możesz go skopiować i wkleić do każdego skryptu, który tego potrzebuje.
W przypadku kodu, który chcesz wykorzystać ponownie w wielu skryptach, lepszym podejściem jest spakowanie go jako współdzielonej zależności. Możesz utworzyć pakiet dependencies.zip zawierający Twoje biblioteki współdzielone — a nawet kod klienta wygenerowany na podstawie specyfikacji publicznego interfejsu API Workiva — a następnie przesłać ten sam pakiet do każdego skryptu, który go potrzebuje. Dzięki temu możesz zachować wspólny kod w jednym miejscu i wykorzystywać go wielokrotnie w różnych skryptach, zamiast kopiować go do każdego z nich.
Instrukcje dotyczące tworzenia i przesyłania zależności można znaleźć w Obsługiwane biblioteki skryptów i zależności .
Korzystanie ze skryptów z automatyzacji
Czy mogę uruchomić skrypt hostowany w innej przestrzeni roboczej, organizacji lub regionie (APAC, CA, EU lub US)?
Automatyzacje Workiva mogą wykonywać tylko skrypty znajdujące się w tej samej przestrzeni roboczej co plik . Aby wykonać skrypt w innym obszarze roboczym, organizacji lub regionie, należy użyć łącznika Workiva Scripting lub interfejsu API Workiva Scripting .
W przypadku korzystania z interfejsu API skryptowego należy utworzyć zezwolenie API w obszarze roboczym, w którym znajduje się skrypt docelowy. Do udzielenia grantu wymagane jest script:execute ; jeśli integracja pobiera status uruchomienia, dzienniki lub dane wyjściowe, wymagane jest również script:read . Instrukcje dotyczące tworzenia lub aktualizowania przyznania API można znaleźć w dokumencie Konfiguracja interfejsu API Workiva .
Czy mogę wysyłać dane wejściowe/parametry środowiska wykonawczego podczas wykonywania skryptu?
Obecnie funkcja automatyzacji nie pozwala na przesyłanie danych wejściowych do skryptu w momencie jego wykonywania.
Jakie metadane są wysyłane do wykonania skryptu z automatyzacji?Czy identyfikator obszaru roboczego został wysłany?
Gdy skrypt jest wykonywany z automatyzacji, wysyłane są następujące parametry:
- DOCUMENT_ID : Identyfikator dokumentu, w którym uruchomiono automatyzację.
- INPUT_SHEET_ID : Adres WURL arkusza kalkulacyjnego używanego do zarządzania parametrami wejściowymi automatyzacji.
- INPUT_RESOURCE_ID : Adres WURL sekcji w arkuszu kalkulacyjnym „wejście”.
- INPUT_SPREADSHEET_ID : Identyfikator arkusza kalkulacyjnego wejściowego.
- INPUT_SPREADSHEET_SHEET_ID : Identyfikator sekcji w arkuszu kalkulacyjnym „wejściowym”.
Aby uzyskać więcej informacji, zobacz stronę pomocy technicznej Workiva Wykonywanie skryptów za pomocą automatyzacji .
W jaki sposób mogę uzyskać dostęp do danych uwierzytelniających do systemów Workiva i innych niż Workiva z poziomu skryptu?
Gdy skrypt jest wykonywany z poziomu automatyzacji, jedyną opcją jest zakodowanie danych uwierzytelniających na stałe w samym kodzie.
Czy ten sam skrypt można wykonać jednocześnie z dwóch lub więcej plików?
Tak, skrypt można wykonać jednocześnie z tego samego pliku lub z wielu plików.
Korzystanie ze skryptów z łańcuchów
Czy mogę uruchomić skrypt hostowany w innej przestrzeni roboczej, organizacji lub regionie (APAC, Kanada, EMEA, USA)?
Tak, skrypt hostowany w jednej przestrzeni roboczej może zostać wykonany przez łańcuch hostowany w innej przestrzeni roboczej, organizacji lub środowisku.
Aby tego dokonać, łącznik Workiva Scripting używany w łańcuchu musi zostać skonfigurowany z przyznaniem API utworzonym w obszarze roboczym hosta, a używane adresy URL skryptów/IAM muszą odpowiadać prawidłowemu obszarowi roboczemu.
Aby dowiedzieć się więcej, zobacz poniższe artykuły:
Czy ten sam skrypt może być wykonywany jednocześnie z dwóch węzłów?
Ten sam skrypt może być uruchamiany jednocześnie na wielu węzłach w jednym łańcuchu lub w wielu łańcuchach.
Jak mogę wykorzystać dane wyjściowe skryptu w innym węźle łańcucha?
Polecenie Uruchom skrypt umożliwia wprowadzenie przykładowego ładunku dla każdego wyniku generującego JSON. Dane wyjściowe można następnie wykorzystać w innych węzłach.
Czy mogę przekazać plik tymczasowy do skryptu z łańcucha?
Pliki binarne można ustawić jako parametry, pod warunkiem że nie przekraczają rozmiaru 128 KB.
API i biblioteki
Jakie interfejsy API i biblioteki są obsługiwane?
Workiva Scripting obecnie obsługuje:
- Publiczne interfejsy API Workiva
- Interfejsy API inne niż Workiva
- Biblioteka standardowa Pythona
- Indeks pakietów Pythona (PyPI)
Workiva Scripting obsługuje na razie tylko język Python.
Aby dowiedzieć się więcej, zobacz stronę pomocy technicznej Workiva Obsługiwane biblioteki skryptowe i zależności Workiva .
Która wersja języka Python jest używana w Workiva Scripting?
Nowe skrypty działają w Pythonie 3.13. Rozwiązanie Workiva Scripting nadal obsługuje istniejące skrypty języka Python 3.9, jednak wsparcie dla tego języka zakończy się w październiku 2027 r. — dlatego należy jak najszybciej przenieść wszystkie skrypty języka Python 3.9 do języka Python 3.13.
Aby dowiedzieć się więcej, zobacz stronę pomocy technicznej Workiva Migracja skryptów do Pythona 3.13 w Workiva .
Czy Workiva udostępnia klientom API popularne języki, takie jak Python lub Java?
Obecnie nie udostępniamy publicznych zestawów SDK dla języków Python i Java.
Udostępniamy jednak otwarte specyfikacje API dla interfejsów API Workiva, dzięki czemu możesz samodzielnie wygenerować te biblioteki. Możesz na przykład uzyskać plik OAS interfejsu API platformy Workiva i wygenerować bibliotekę klienta .
Czy są dostępne interfejsy API przeznaczone specjalnie do skryptowania?
Tak. Publiczny interfejs API skryptów jest dostępny za pośrednictwem wersji API Workiva z dnia 2026-01-01. Wyślij X-Version: 2026-01-01 z każdym żądaniem.
Aby zapoznać się z obsługiwanymi operacjami, zakresami i wymaganiami, zapoznaj się z przewodnikiem po interfejsie API skryptów .
Jak tworzyć i przeglądać uprawnienia API dla publicznych interfejsów API Workiva?
Aby uzyskać identyfikator klienta i klucz tajny, należy postępować zgodnie z instrukcjami podanymi tutaj .
Jak autoryzować się do publicznych interfejsów API Workiva za pomocą języka Python?
Poniższy przykład uzyskuje token dostępu i pobiera skrypty dostępne dla przyznanego interfejsu API w jego obszarze roboczym. Do udzielenia zezwolenia na API wymagany jest zakres script:read . Instrukcje dotyczące tworzenia lub aktualizowania przyznania API można znaleźć w dokumencie Konfiguracja interfejsu API Workiva .
import os import request 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={ "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", "X-Version": 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"Bearer {token_response.json()['access_token']}", "X-Version": API_VERSION, } scripts_response = requests.get( SCRIPTING_API_URL, headers=nagłówki, timeout=30, ) scripts_response.raise_for_status() print(scripts_response.json())Jak zaktualizować format komórek za pomocą Pythona?
Formatowanie komórek można aktualizować z poziomu skryptu, wywołując punkt końcowy [ Aktualizuj zawartość arkusza interfejsu API platformy Workiva ( POST /spreadsheets/{spreadsheetId}/sheets/{sheetId}/update ).
- Użyj pola
applyFormats , aby zastosować formaty, takie jak pogrubienie, formatowanie liczb i walut oraz cieniowanie, a polaapplyBorders ,aby zastosować obramowanie. - Zalecamy grupowanie operacji formatowania w ramach jednego żądania — każde pole akceptuje tablicę operacji, a punkt końcowy ma ograniczenie przepustowości — zamiast wysyłania jednego żądania na zakres.
Więcej informacji znajdziesz na następujących stronach Workiva Developer:
Czy mogę odczytywać/zapisywać lub przesyłać pliki spoza systemu Workiva, które są przechowywane w systemie Workiva?
Tak. Korzystając z interfejsów API do zarządzania plikami firmy Workiva, możesz przesyłać na platformę pliki spoza platformy Workiva — takie jak pliki PDF, obrazy lub inne dowolne typy plików — jako Dokumenty pomocnicze , które zachowują oryginalny plik w niezmienionej postaci. Aby przesłać taki dokument, należy użyć punktu końcowego pliku importu z parametrem kind ustawionym na SupportingDocument . Dokumenty pomocnicze pojawiają się obok innych plików Workiva i można je wyświetlać, przenosić, kopiować, eksportować (pobierać) i usuwać jak każdy inny plik.
Dowiedz się więcej: Wprowadzenie do interfejsów API zarządzania plikami
Czy mogę programowo tworzyć i zarządzać automatyzacjami?
W tej chwili nie ma dostępnych punktów końcowych umożliwiających programowe tworzenie automatyzacji ani zarządzanie nimi.