Użycie kodu Groovy w skryptach
Kod Groovy można włączyć do skryptów przy użyciu typu kroku Elementy Groovy. Dla każdego skryptu z kodem Groovy zostanie utworzona pojedyncza klasa Groovy poprzez połączenie wszystkich kroków Elementy Groovy.
Ze względów bezpieczeństwa, klasy Java produktu i stron trzecich dostępne w skryptach w języku Groovy będą ograniczone. Dopuszczalne klasy podstawowe można wyświetlić w przeglądarce dokumentów Java (Groovy) za pomocą łącza "Wyświetlanie dokumentów Java (Groovy)" w strefie zależnej od kontekstu "Wskazówki dotyczące skryptu". Listę dozwolonych klas stron trzecich można wyświetlić za pomocą łącza "Wyświetlanie listy dozwolonych Groovy stron trzecich" w strefie "Wskazówki dotyczące skryptu".
Motor skryptów Groovy
W przypadku skryptów wywoływanych z języka Java i w całości napisanych w języku Groovy należy użyć motoru skryptu w wersji Groovy. System przetwarza ten typ skryptu w podobny sposób jak kod napisany w języku Java. Dzięki temu nie ma potrzeby konwertowania skryptu do formatu XML i z formatu XML. Można również zastosować kod, który będzie działał bezpośrednio na obiekty systemowe, co spowoduje wzrost wydajności.
Wersja motoru Groovy jest obsługiwana w następujących typach skryptów:
Skrypty wtyczek
W skryptach wtyczek można skonfigurować użycie motoru Groovy, jeśli zawierają one tylko typy kroków zorientowane na Groovy. W systemie dostarczana jest generowana automatycznie superklasa, która definiuje interfejs API miejsca dołączania. Wewnętrznie kod Groovy musi być zgodny z konwencjami systemowymi dotyczącymi typów algorytmów opartych na kodzie Java i uwzględniać metodę "invoke", która jest punktem wejścia wtyczki, oraz definicję "elastycznych" parametrów przy użyciu adnotacji.
Skrypty biblioteki Groovy
Skrypty biblioteki Groovy umożliwiają tworzenie grup wspólnych procedur napisanych w języku Groovy, które można wywoływać z innych skryptów. Skrypty tego typu muszą zawierać pojedynczy typ kroku Interfejs biblioteki Groovy, w którym dostępna jest lista publicznych metod dostępnych w bibliotece. Kod obsługujący te metody jest zdefiniowany w jednym lub wielu typach kroków Elementy Groovy w skrypcie biblioteki. Metody zdefiniowane w bibliotece mogą przyjmować argumenty i zwracać wartości dowolnego typu. W skryptach tego typu domyślnie używany jest motor Groovy i nie mogą one zawierać typów kroków skryptów.
W skryptach, które wymagają wywołania metod z biblioteki Groovy, można zastosować dostępną w systemie metodę createLibraryScript w celu utworzenia wystąpienia interfejsu biblioteki. Należy sprawdzić, czy klasa, której wystąpienie jest tworzone, zawiera rozszerzenie nazwy pliku ".class".
Wywoływanie języka Groovy w motorze skryptów
Jeśli w skrypcie wtyczki lub skrypcie usługi skonfigurowano użycie wersji motoru skryptu, może on zawierać kombinację zwykłych typów kroków i typów kroków Elementy Groovy. Typy kroków skryptu definiują proces, który ma zostać wykonany. Kroki Elementy Groovy zawierają kod, który można wywołać z typów kroku Edycja danych w skrypcie za pomocą polecenia invokeGroovy. Za pomocą tego polecenia można wywoływać tylko metody, które nie otrzymują argumentów i zwracają puste wartości. Więcej szczegółów zawiera sekcja dotycząca kroków Edycja danych.
Na potrzeby skryptów korzystających z tej opcji framework udostępnia superklasę zawierającą metody, które obsługują typowe czynności tworzenia skryptów (np. polecenia przenoszenia i ocena ciągów) oraz metody służące do wywoływania obiektów biznesowych, usług biznesowych i skryptów usług. Szczegóły obsługiwanych metod są dostępne w dokumentach Java dotyczących języka Groovy.
Importowanie klas Groovy
Wszystkie klasy Groovy używane przez skrypt powinny być jawnie zadeklarowane w typie kroku Importy Groovy. Podczas zapisywania skryptu, jeśli system znajdzie klasy, do których odwołuje się skrypt, a które nie zostały jawnie zadeklarowane, wyświetlone zostanie ostrzeżenie, a instrukcje importu dla klas zostaną dodane automatycznie. Autorzy skryptów powinni sprawdzić importy, aby potwierdzić, że klasy są poprawne (w przypadku, gdy w dwóch różnych pakietach istnieje klasa o tej samej nazwie).
Zgodność wsteczna
W poprzednich wydaniach system nie wymagał jawnego importu i zawierał logikę automatycznego importowania wszystkich możliwych do wywołania klas dostępnych dla Groovy w czasie uruchomienia. W przypadku istniejącego skryptu, który nie deklaruje w sposób jawny importu, system nadal będzie importował wszystkie możliwe do wywołania klasy w czasie uruchomienia. Zaleca się jednak identyfikację i aktualizację każdego takiego skryptu, ponieważ nie jest to zalecana praktyka.
W systemie dostępny jest program zadania F1-CAGVY, który raportuje wszystkie skrypty wymagające pomyślnego skompilowania kroku automatycznego importowania. Ponadto ten program zadania jest przydatny, gdy wersja języka Groovy jest uaktualniana w celu proaktywnego wykrywania możliwych problemów podczas kompilacji istniejących skryptów, które mogą wystąpić z powodu zmian w języku Groovy. We wdrożeniach zaleca się uruchomienie tego programu zadania w krótkim okresie w celu zidentyfikowania i naprawienia wszystkich skryptów bez jawnego importu, a także w przypadku uaktualnienia wersji języka Groovy w celu przejrzenia wszystkich skryptów należących do wdrożenia, które mogą być zgłaszane.