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 artykuły poniżej:
Czy Workiva Scripting jest zgodny z Fedramp?
Absolutnie. Bezpieczeństwo jest naszym najwyższym priorytetem w firmie Workiva. Zbudowaliśmy infrastrukturę, która gwarantuje, że uruchamiany przez Ciebie kod będzie zarówno bezpieczny, jak i wydajny. Twoje skrypty są wykonywane w ramach zarządzanej przez Workiva infrastruktury zgodnej ze standardem FedRAMP — w ramach tej samej zaufanej platformy, uprawnień i zasad zarządzania, co pozostałe elementy Twojej pracy w 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.
- Role użytkownika: Role skryptowe Workiva (Edytor skryptów, Przeglądarka skryptów i Uruchamiacz skryptów) są podzielone na poziomy, dzięki czemu użytkownicy mają dostęp wyłącznie do skryptów niezbędnych do wykonywania ich pracy. Przykładowo rola Script Runner umożliwia użytkownikom uruchamianie skryptów, ale nie pozwala na dostęp do 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 sekcjiTworzenie i zarządzanie skryptamiw 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. ZobaczSkrypty 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 zapewnia punkty końcowe do zarządzania źródłami, w których użytkownicy mogą pobrać najnowszą wersję skryptu lub zaktualizować skrypt do nowszej kopii. Workiva nie oferuje obecnie automatycznej synchronizacji plików skryptów z systemem kontroli wersji w przedsiębiorstwie (np. Gitlab, Github, SVN).
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 logów widocznych dla użytkowników.
Jak mogę przechowywać dane tymczasowe podczas wykonywania skryptu?
Skrypty Workiva mogą używać funkcji Python Open (link zewnętrzny) 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, UE) są dostępne w kodzie skryptu poprzez zmienną środowiskową. 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 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ć pakietdependencies.zipzawierający Twoje biblioteki współdzielone — a nawet kod klienta wygenerowany na podstawiespecyfikacji 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źć wObsł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 środowisku (APAC, UE, USA)?
Funkcja automatyzacji w Workiva umożliwia wykonywanie skryptów tylko w tej samej przestrzeni roboczej, w której znajduje się plik. Jednakże łącznik Workiva Scripting lub interfejs API Workiva Scripting można wykorzystać do wykonania skryptu umieszczonego w innej lokalizacji.
W przypadku korzystania ze skryptowego interfejsu API należy utworzyć i umieścić w głównym obszarze roboczym skrypt, którego jedynym celem jest wywołanie skryptowego interfejsu API i wykonanie skryptu w pomocniczym obszarze roboczym.
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?
Podczas wykonywania skryptu 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 środowisku (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ć wykonywany jednocześnie z wielu węzłów w obrębie tego samego Łańcucha i/lub wielu Łańcuchów.
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 plik tymczasowy można utworzyć w łańcuchu za pomocą parametrów w skrypcie?
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.
Dowiedz się więcej: Obsługiwane biblioteki i zależności skryptów 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.
Dowiedz się więcej: 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. Punkty końcowe interfejsu API skryptów są obecnie dostępne jako prototypy punktów końcowych w ramach interfejsu API platformy prototypów Workiva.
Punkty końcowe interfejsu Public Scripting API będą dostępne latem 2026 r. Po ich udostępnieniu będziesz musiał przeprowadzić migrację do publicznych punktów końcowych — wsparcie dla niepublicznych punktów końcowych Workiva Scripting (w tym prototypu) zakończy się w październiku 2027 r.
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 fragment kodu wywołuje usługę IAM w celu wygenerowania tokena dostępu, który następnie służy do uwierzytelniania w punktach końcowych prototypu skryptów. Otrzyma listę wszystkich skryptów, do których API (czyli klient) ma dostęp w obszarze roboczym, w którym utworzono zezwolenie.
importuj żądania 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 = 'Nośnik' + json.loads(tokenResponse.text)['access_token'] dataRes = requests.get(SCRIPTING_API_URL, headers = {'Authorization': accessToken}) print(json.loads(dataRes.text))
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ść arkuszainterfejsu API platformy Workiva (POST /spreadsheets/{spreadsheetId}/sheets/{sheetId}/update). Użyj polaapplyFormats, aby zastosować formaty, takie jak pogrubienie, formatowanie liczb i walut oraz cieniowanie, a polaapplyBorders, aby zastosować obramowanie. Zamiast wysyłać jedno żądanie na zakres, łącz operacje wielu formatów w jedno żądanie — każde pole akceptuje tablicę operacji, a punkt końcowy ma ograniczenie przepustowości.
Dowiedz się więcej:Aktualizacja zawartości arkuszai Przewodnik po danych arkusza kalkulacyjnego.
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 — jakoDokumenty pomocnicze, które zachowują oryginalny plik w niezmienionej postaci. Aby przesłać taki dokument, należy użyć punktu końcowego pliku importu z parametremkindustawionym naSupportingDocument. 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.