11.05.2023

Autor: Dawid Mroczkowski

Kategorie: Aktualności, Artykuł

Każda organizacja ma swoje potrzeby i swój przepływ pracy związany z obsługą zgłoszeń, akceptacjami, czy rozwiązywaniem problemów, a to, co standardowo oferuje system, niekiedy nie jest dostatecznie wystarczające. Zawsze potrzebna jest niestandardowa automatyzacja czy funkcjonalność, która dla administratorów czy samych techników jest po prostu niezbędna.

 

Na szczęście w IT nie ma rzeczy niemożliwych, gdy w grę wchodzi programowanie. W każdym systemie, jeżeli chcemy poszerzyć jego funkcjonalność, musimy sami sobie stworzyć odpowiednie skrypty. Ale i tutaj pojawiają się problemy. Jakiego języka użyć? Jak napisać skrypt? Jak go połączyć z systemem i donieść się do jego danych? Niby prosta rzecz do skonfigurowania staje się nagle bardzo trudna i czasochłonna. Lecz w ServiceDesk Cloud i na to mamy rozwiązanie.

Custom Functions…

 

…czyli funkcje niestandardowe, pozwalają nam w łatwy i prosty sposób rozszerzyć funkcjonalności naszej aplikacji, i wymagana jest do tego tylko podstawowa wiedza z zakresu programowania.

 

Bezpośredni dostęp do funkcji uzyskamy, wchodząc w ustawienia administratora – > obszar dewelopera – > funkcje niestandardowe

Screenshot widoku strony Custom Functions w ServiceDesk Plus Cloud od ManageEngine

 W pierwszym widoku będziemy mieli do dyspozycji funkcje niestandardowe związane ze zgłoszeniami do użytku w regułach biznesowych lub czasomierzach. Klikając na nazwę obok napisu „Funkcje niestandardowe”, uzyskamy listę modułów dla których możemy stworzyć takowe funkcje. W tym artykule przedstawię kilka przykładów użytkowych funkcji niestandardowej dla modułu zgłoszeń w zastosowaniu dla wyzwalaczy i cyklu życia zgłoszenia.

 

Dla stworzenia nowej funkcji klikamy w przycisk „Nowa funkcja niestandardowa”. Wyświetli nam się widok z edytorem skryptu.  Język, w którym będziemy pisać to Deluge. 

Screenshot widoku strony Funkcja niestandardowa (Custom Functions) w ServiceDesk Plus Cloud od ManageEngine

Zmienne i ich wartości

 

Do dyspozycji mamy od razu gotowe do wstawienia przykładowe komendy, widoczne po lewej stronie. Samo pisanie skryptu będzie bazować na danych umieszczonych w zmiennej typu Map, requestObj. Jest to zmienna, która zawiera dane z przesłanego przez użytkownika zgłoszenia. Jej typ Map określa, że jest to mapa nazw z przypisanymi do nich wartościami. Dla przykładu wartość requestObj dla podstawowego zgłoszenia będzie wyglądać następująco:

Kod Custom Functions w ServiceDesk Plus Cloud

Na początek możemy te informacje sobie wypisać, aby sprawdzić wszystkie informacje zawarte w zmiennej requestObj. Aby, wypisać dane użyjemy komendy info oraz nazwy zmiennej a wszystko kończymy średnikiem.

Screenshot widoku kodu Custom Functions w ServiceDesk Plus Cloud od ManageEngine

Uruchomienie i przetestowanie skryptu możemy dokonać, poprzeć kliknięcie przycisku „Zapisz i wykonaj skrypt” umiejscowiony poniżej. W kolejnym oknie możemy wybrać testowe zgłoszenie zktórego mamy pobierać dane lub klikając dalej, możemy sami sprecyzować dane, jakie będą zawarte w zmiennej requestObj. Skrypt uruchamiamy, klikając „Wykonaj”.

Screenshot widoku strony "Wykonaj test" Custom Functions w ServiceDesk Plus Cloud od ManageEngine
Screenshot widoku strony "Wykonano skrypt" Custom Functions w ServiceDesk Plus Cloud od ManageEngine

Wykonaliśmy nasz skrypt, a że kazaliśmy mu wypisać dane, zostały one tutaj przedstawione.

 

W ten sposób każdy nasz skrypt możemy testować i upewniać się, że dane, na których pracujemy są prawidłowe.

Aby uzyskać konkretne wartości ze zmiennej typu Map (tutaj zmienna), użyjemy komendy get. Należy pamiętać, aby dane zapisane w zmiennej typu Map wyciągać kaskadowo. Np. jeżeli mamy wartość zapisaną w ten sposób: zmienna = {nazwa1: { nazwa2: Wartość12 }}. Naszą wartość wyciągamy następująco:

Screenshot widoku wpisywania kodu na stronie Custom Functions w ServiceDesk Plus Cloud od ManageEngine

I nasz wynik będzie wyglądać tak:

Screenshot widoku strony "Wykonano skrypt" Custom Functions w ServiceDesk Plus Cloud od ManageEngine

Interfejs REST API


Niekiedy nasze dane w zgłoszeniu są niewystarczające lub chcemy je powiązać z danymi z innych modułów funkcji lub też je w jakiś sposób zmodyfikować. Do tego mamy przygotowany przez ManageEngine cały interfejs REST API, dzięki któremu będziemy mogli komunikować się z innymi modułami w ServiceDesk Cloud, a także wykonywać na nich szereg czynności modyfikując ich dane. Dla przykładu będę pobierać i modyfikować dane z innego zgłoszenia, a także stworzę nowe zgłoszenie poprzez właśnie API (Cała dokumentacja REST API jest dostępna pod tym adresem:
https://www.manageengine.com/products/service-desk/sdpod-v3-api/).

 
Aby, pobrać dane z innego zgłoszenia musimy użyć funkcji wywołującej adres URL. Służy do tego komenda zoho.sdp.invokeurl[]. Oczywiście dla tej komendy musimy podać także odpowiednie parametry. Takie jak nasz adres API oraz typ wywołania. Możemy także podać dane, jeżeli coś modyfikujemy lub tworzymy.

Screenshot widoku wpisywania kodu na stronie Custom Functions w ServiceDesk Plus Cloud od ManageEngine

I tak o to uzyskaliśmy listę 10 zgłoszeń. Domyślnie zawsze uzyskamy 10 pozycji. Aby uzyskać więcej musimy podać odpowiednie parametry, precyzujące jak ma się wylistować informacja. (Wszystkie parametry związane z wylistowaniem dostępne w
dokumentacji REST API)


Teraz zakładając, że znamy ID naszego zgłoszenia, możemy je sobie wylistować, dodając numer ID na końcu adresu url.

Screenshot widoku wpisywania kodu na stronie Custom Functions w ServiceDesk Plus Cloud od ManageEngine

Aby móc wyedytować nasze zgłoszenie, najpierw zamieniamy typ wywołania na PUT, oznaczające modyfikację oraz dodaję dane, które chcemy zmienić, zachowując strukturę danych zgłoszenia. Dla przykładu zmienię temat zgłoszenia.

Screenshot widoku wpisywania kodu na stronie Custom Functions w ServiceDesk Plus Cloud od ManageEngine
Screenshot widoku strony "Wykonano skrypt" Custom Functions w ServiceDesk Plus Cloud od ManageEngine

Sukces! Właśnie skryptem zmieniliśmy temat zgłoszenia! Te same czynności możemy wykonywać dla wielu innych pól w tym także pól dodatkowych.

 

Skoro udało nam się edytować zgłoszenie to pora stworzyć kompletnie nowe od zera.

 

Tutaj musimy pamiętać, aby zawrzeć wszystkie informacje, które są wymagane, aby zgłoszenie w ogóle mogło się wygenerować. Do tworzenia nowych elementów użyjemy też typu POST.

Screenshot widoku wpisywania kodu na stronie Custom Functions w ServiceDesk Plus Cloud od ManageEngine
Screenshot widoku strony "Wykonano skrypt" Custom Functions w ServiceDesk Plus Cloud od ManageEngine

Kolejny sukces!

A oto nasze nowo wygenerowane zgłoszenie.

Screenshot widoku strony "To jest nowe zgłoszenie" Custom Functions w ServiceDesk Plus Cloud od ManageEngine

Podsumowując


Custom Function jest wielce przydatnym narzędziem, mającym potężny potencjał konfiguracyjny. Dzięki niemu możemy stworzyć automatyzacje, które podstawowo nie są możliwe do realizacji. Od tworzenia nowych zgłoszeń do całkowitej automatyzacji przepływu pracy. Więc jeżeli choć trochę znasz się na programowaniu, to Custom Function jest twoim najlepszym przyjacielem.

 

11.05.2023

Autor: Dawid Mroczkowski

Kategorie: Aktualności Artykuł

Dawid Mroczkowski

Dawid Mroczkowski

Junior ITSM Product Engineer

Z wykształcenia Automatyk i Robotyk, a z zamiłowania samouk dziedzin IT m.in. programowania w JavaScript oraz Python. Szybko zbiera nowe doświadczenie, aby sprawnie realizować swoje zadania. W MWT Solutions zajmuje się wdrażaniem oprogramowania ManageEngine z zakresu zarządzania usługami informatycznymi.

Newsletter. Bądź na bieżąco.

Kontakt

MWT SOLUTIONS S.A.

ul. Szyperska 14, 61-754 Poznań

Napisz do nas: