Integracja Jira i Raspberry PI cz. 2

 W poprzednim odcinku przedstawiona została integracja Jira i Raspberry PI, gdzie inicjatorem rejestracji zdarzenia był miernik temperatury zrealizowany w oparciu o Raspberry PI.  W tym odcinku zostanie opisane podejście do integracji oparte o webserwis zainstalowany na Raspberry PI.

Tym razem do integracji wybrano mikroframework FLASK, który został zainstalowany na Raspberry PI. Do obsługi serwisu napisany został krótki program w Pythonie obsługujący wywołania POST wysyłane przez Jira. Niezbędnym było także zainstalowanie biblioteki json, umożliwiającej obsługę wymiany plików w formacie JSON wymienianych pomiędzy systemami.

Po stronie Jira wykorzystany został mechanizm Webhook, który umożliwia tworzenie wywołań POST w przypadku zaistnienia określonych zdarzeń. Poniżej pokazano podstawową konfigurację Webhook po stronie Jira. Jak widać nie jest zbyt skomplikowana. Dodatkowo, w nagłówku wywołania przekazywany był identyfikator utworzonego zadania.

W tym szczególnym przypadku utworzenie nowego zadania powodowało wywołanie webserwisu po stronie Raspberry PI i uruchomienie odpowiedniej procedury. Procedura ta zapisywała w określonych odstępach czasu temperaturę mierzoną przez czujnik oraz stan wejścia binarnego. Gdy temperatura spadała poniżej ustalonego minimum następowało samoczynne zakończenie działania procedury, zaś zarejestrowane zadania było zamykane przez webserwis. Wyniki działania webserwisu można zobaczyć poniżej.

Do integracji Jira z otoczeniem możemy wykorzystywać różne mechanizmy oparte o REST API. Wybór zależy od sposobu inicjacji, dostępnych zasobów, czy też potrzeb. W szczególności funkcjonalność oparta o webserwis FLASK zainstalowany na Raspberry PI może być wykorzystana do dostarczenia dodatkowych funkcjonalności, np. prezentowanie informacji o zarejstrowanych zadaniach w Jira.