Workiva Scripting zapewnia elastyczne i bezpieczne środowisko do uruchamiania kodu Python na platformie Workiva. Tworząc niestandardowe skrypty, które automatycznie wykonują powtarzalne procesy, możesz zwiększyć wydajność na dużą skalę w wielu raportach, plikach i obszarach roboczych. W miarę jak coraz więcej zadań jest wykonywanych przy pomocy sztucznej inteligencji, Scripting zapewnia tym zadaniom niezawodną, kontrolowaną podstawę, na której można je rozwijać — łącząc elastyczność z kontrolą potrzebną do przekształcania automatyzacji w powtarzalne wyniki, którym można zaufać.
Skrypty 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.
Role i uprawnienia
Role to ustawienie systemowe obejmujące cały system Workiva, co oznacza, że ustalają standardowy poziom dostępu dla każdego skryptu w obszarze roboczym. Administrator obszaru roboczego możeprzypisać trzy role skryptowe Workiva .
| Rola | Poziom dostępu |
|---|---|
| Skrypt Runner | Możliwość uruchamiania skryptów. |
| Przeglądarka skryptów | Możliwość przeglądania skryptów. |
| Edytor skryptów | Możliwość przeglądania, tworzenia i edytowania skryptów. |
Aby uzyskać więcej informacji, zobacz stronę pomocy Role i uprawnienia skryptów.
Jak korzystać ze skryptów Workiva
Po włączeniu skryptów w obszarze roboczym pojawią się one na ekranie głównym obok innych arkuszy kalkulacyjnych, dokumentów i prezentacji w witrynie. Możesz utworzyć nowy skrypt lub wybrać istniejący z listy plików.
Edytor skryptów to miejsce, w którym możesz tworzyć, edytować i uruchamiać skrypty w swojej witrynie.
Zawiera:
- Centralne płótno, na którym będziesz pisać skrypt
- Sekcja wyjściowa na dole, w której zobaczysz wyniki uruchomienia skryptu
- Pasek menu u góry, w którym możesz zapisać lub uruchomić skrypt
- Panel właściwości po prawej stronie umożliwiający zarządzanie właściwościami skryptu i historią uruchomień
- Panel źródeł po lewej stronie
Po utworzeniu skrypty można uruchamiać ręcznie, programowo, poprzez łańcuchy lub z poziomu pliku Workiva.
Aby uruchomić skrypt ręcznie:
- Kliknij Uruchom skrypt na pasku menu u góry ekranu.
- Kliknij + Dodaj zmienną.
- Wprowadź nazwy i wartości zmiennych środowiskowych, które chcesz przekazać jako parametry.
- Kliknij Uruchom skrypt.
Aby uruchomić skrypt programowo, należy wysłać żądanie HTTP POST do punktu końcowego prototypu Inicjuj wykonywanie skryptu .
Identyfikator skryptu jest zawarty w punkcie końcowym. Możesz przekazać parametry, definiując nazwy i wartości zmiennych środowiskowych w treści żądania POST.
Dane wyjściowe skryptu są rejestrowane jako stderr i stdout, razem z pewnymi metrykami wykorzystania pozwalającymi monitorować stan produktu.
Aby uruchomić skrypt przez łańcuchy:
Będziesz musiał użyć łącznika Workiva Scripting. Zanim to nastąpi, administrator bezpieczeństwa organizacji musi włączyć łącznik na ekranie Konfiguracji.
Aby dowiedzieć się więcej, zobacz artykuły poniżej:
Aby uruchomić skrypt w pliku Workiva, należy wykonać poniższe kroki:
W panelu Automatyzacje dokumentu, arkusza kalkulacyjnego lub prezentacji utwórz nową automatyzację i wybierz Wykonanie ręczne jako wyzwalacz.
Dodaj akcję Wykonaj skrypt, wybierz skrypt, który chcesz uruchomić i opcjonalnie zdefiniuj, którzy użytkownicy lub role są uprawnieni do jego wykonania.
Uwaga: Tylko wskazani użytkownicy będą widzieć i będą mogli uruchomić automatyzację w pliku.
Dowiedz się więcej o Wykonywaniu skryptów za pomocą automatyzacji.
Utwórz skrypt ćwiczeń
Zanim zaczniesz tworzyć skrypty na żywo w swojej witrynie, zalecamy utworzenie skryptu próbnego w edytorze skryptów. Pomoże Ci to zaznajomić się z procesem zanim zaczniesz obsługiwać dane na żywo.
Aby utworzyć prosty skrypt obliczający wartość pieniądza w czasie, wykonaj następujące kroki:
- Z poziomu ekranu głównego kliknij + Utwórz => Skrypt.
- Po prawej stronie wpisz nazwę i krótki opis skryptu.
- Przejdź do edytora skryptów znajdującego się na środku ekranu i usuń cały istniejący kod. Powinieneś mieć puste płótno.
-
Wklej ten kod do edytora:
import os, sys # https://www.investopedia.com/terms/t/timevalueofmoney.asp # Wzór na wartość pieniądza w czasie # FV = PV x [1 + (i / n)]^(nxt) # Załóżmy, że zainwestowano kwotę 10 000 USD na jeden rok przy oprocentowaniu 10% naliczanym rocznie. # Przyszła wartość tych pieniędzy wynosi: # FV = 10 000 USD x [1 + (10% / 1)] ^ (1 x 1) = 11 000 USD compounding_periods = {"annual" : 1, "monthly" : 12, "quarterly" : 4, "daily" :365} if 'INVESTMENT' not in os.environ: print("Nie można uruchomić skryptu. Brak inwestycji.") sys.exit() jeśli 'INTEREST_RATE' nie znajduje się w os.environ: print("Nie można uruchomić skryptu. Brakuje informacji o stopie procentowej.") sys.exit() jeśli 'COMPOUNDING_PERIOD' nie znajduje się w os.environ: print("Nie można uruchomić skryptu. Brak okresu kapitalizacji.") sys.exit() jeśli 'YEARS' nie znajduje się w os.environ: print("Nie można uruchomić skryptu. Brakuje liczby lat.") sys.exit() compounding_period = os.getenv('COMPOUNDING_PERIOD') jeśli compounding_period nie znajduje się w compounding_periods.keys(): print("Nie można uruchomić skryptu.", compounding_period, "nie jest prawidłowym okresem") 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("Załóżmy, że suma",investment,"jest inwestowana przez",years,"rok(lata) przy",\ interest_rate,"% odsetek składanych w dniu",compounding_period,"basis. ") print("Przyszła wartość tych pieniędzy wynosi:") print(FV) - Kliknij Uruchom skrypt w lewym górnym rogu.
- Kliknij +Dodaj zmienną i wprowadź parametry, których chcesz użyć.
- Kliknij Uruchom skrypt, aby zakończyć.
Wyniki skryptu można teraz przeglądać w panelu Dane wyjściowena dole ekranu.
Jak uzyskać pomoc dotyczącą skryptów Workiva
W przypadku pytań dotyczących skryptów Workiva możesz skontaktować się z działem pomocy technicznej Workiva . Należy jednak pamiętać, że nasi agenci mogą pomóc wyłącznie w kwestiach związanych z samą platformą. Nie możemy pomóc w pisaniu kodu ani rozwiązywaniu problemów.
Możesz również zapoznać się z sekcjąSkrypty Workivaw Centrum pomocy, aby dowiedzieć się więcej — m.in. o podstawach pisania skryptów, tworzeniu i zarządzaniu skryptami, przykładach, rozwiązywaniu problemów i najlepszych praktykach.
Te zasoby pomogą Ci rozpocząć korzystanie z Workiva Scripting. Jeśli masz pytania dotyczące korzystania z publicznych interfejsów API Workiva do pisania kodu w celu programowej interakcji z platformą Workiva, skorzystaj z naszej Społeczności programistów i interfejsów API.
Często zadawane pytania
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.
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.