Automatyczne zarządzanie incydentami za pomocą Jira i StatusPage

Dowiedz się, jak korzystać z reguł automatyzacji Jira do automatycznej synchronizacji StatusPage ze zgłoszeniami Jira.

Czas

5 minut czytania.

Publiczność

Jesteś doświadczonym użytkownikiem Jira Software i masz konto Statuspage.

WARUNEK WSTĘPNY

Potrzebny będzie aktywny projekt Jira z niestandardowym typem zadania „Incydent” i niestandardowym polem „Identyfikator incydentu”. Przejdź tutaj, aby rozpocząć korzystanie z Jiry.

Potrzebne będzie konto Statuspage z włączonym dostępem API. Potrzebny będzie również klucz API Statuspage oraz kod strony, aby skonfigurować następujące reguły automatyzacji. Zapoznaj się z przewodnikiem interfejsu API Statuspage, aby zlokalizować klucze API Statuspage. Przejdź tutaj, aby rozpocząć korzystanie ze Statuspage.

Krok 1. Dodanie automatyzacji

Kliknij przycisk Add automation (Dodaj automatyzację), a następnie wybierz opcję Issue (Zgłoszenie).

Kliknij: Dodaj automatyzację; Wybierz: Zgłoszenie

Wyszukaj i wybierz Issue created (Utworzone zgłoszenie).

Nowy wyzwalacz. Wyzwalacze rozpoczynają wykonywanie reguły. Wyzwalacze mogą nasłuchiwać zdarzeń lub być zaplanowane do uruchomienia.

Kliknij przycisk Save (Zapisz), aby kontynuować.

Utworzono zgłoszenie. Reguła jest uruchamiana po utworzeniu zgłoszenia. Ten wyzwalacz nie wymaga konfiguracji.

Krok 2. Utworzenie nowego warunku

Następnie wyszukaj i wybierz warunek pól zgłoszenia.

Wybierz warunek pola wydania w obszarze New condition (Nowy warunek). Sprawdza, czy pole zgłoszenia spełnia określone kryteria.

Użyj opcji Warunek pól zgłoszeń, aby sprawdzić, czy typ zgłoszenia to Incydent, i wykonać adekwatne czynności. Skonfiguruj Warunek pól zgłoszeń tak, aby pole Typ zgłoszenia było równe wartości Incydent. Kliknij przycisk Zapisz, aby kontynuować.

Użyj warunku pól zgłoszeń, aby sprawdzić, czy typ zgłoszenia to Incydent, i wykonać adekwatne czynności. Skonfiguruj warunek pól zgłoszeń tak, aby pole typu zgłoszenia było równe wartości Incydent. Kliknij przycisk Zapisz, aby kontynuować.

Krok 3. Wysłanie żądania internetowego

Wybierz opcję Send web request (Wyślij żądanie internetowe), co spowoduje aktualizację StatusPage.

Nowa czynność. Wybierz opcję Send web request (Wyślij żądanie internetowe)

Do skonfigurowania czynności Send web request (Wyślij żądanie internetowe) potrzebny jest klucz API StatusPage oraz kod strony. Wartości te można znaleźć w dokumentacji StatusPage. Send web request (Wyślij żądanie internetowe) jest zaawansowaną czynnością z wrażliwymi wartościami wejściowymi. W dalszej części tego przewodnika czynność ta zostanie odtworzona w dodatkowych regułach i będzie odwoływać się do tej konfiguracji. 

W polu Adres URL elementu webhook wprowadź adres URL punktu końcowego incydentów Statuspage: 

Podmień symbol zastępczy kodu strony na kod strony StatusPage. W sekcji nagłówków wprowadź ciąg Authorization:OAuth i klucz API w dwóch polach nagłówka. 

Ustaw wartość HTTP Method (Metoda HTTP) na POST i Webhook body (Treść webhooka) na Custom Data (Dane niestandardowe). 

Upewnij się, że zaznaczone jest pole wyboru Wait For Response (Czekaj na odpowiedź), ponieważ będziesz używać wartości z odpowiedzi żądania internetowego w dodatkowych komponentach. 

Pole Custom Data (Dane niestandardowe) zawiera kod definiujący ładunek zdarzenia dla interfejsu API StatusPage. Ten kod używa wartości inteligentnych, aby wyodrębnić i dodać podsumowanie zgłoszenia do ładunku. Poniższy zrzut ekranu pokazuje pełną konfigurację czynności Send web request (Wyślij żądanie internetowe). Kliknij przycisk Zapisz, aby kontynuować.

Send web request (Wyślij żądanie internetowe)

Krok 4: Utworzenie czynności „Edit Issue” (Edytuj zgłoszenie)

Na koniec wyszukaj i wybierz czynność Edit Issue (Edytuj zgłoszenie).

Nowa czynność: Edit issue (Edytuj zgłoszenie)

Czynność Edit Issue (Edytuj zgłoszenie) wyodrębnia identyfikator incydentu z żądania StatusPage i przechowuje go w polu niestandardowego identyfikatora incydentu. Identyfikator incydentu jest wyodrębniany przy użyciu wartości inteligentnych. Poniższy zrzut ekranu pokazuje, jak skonfigurować ten komponent czynności Edit Issue (Edytuj zgłoszenie).

Edit issue (Edytuj zgłoszenie). Ustaw wartości dla pól w zgłoszeniu

Poniższy zrzut ekranu pokazuje końcowe podsumowanie tej reguły.

Końcowe podsumowanie reguły

Reguła jest teraz gotowa do włączenia. Wprowadź nazwę reguły i kliknij przycisk Turn it on (Włącz). Dane z tej reguły zostaną użyte do utworzenia poniższych reguł. 

Zaktualizuj StatusPage po skomentowaniu zgłoszenia

Ta kolejna reguła jest uruchamiana po pozostawieniu komentarza do typu zgłoszenia „Incydent”. Żądanie internetowe jest wysyłane do aplikacji StatusPage, która aktualizuje odpowiedni incydent o treść komentarza. Na poniższym rysunku przedstawiono podsumowanie komponentów dla tej reguły.

Komentarz StatusPage na temat incydentu

Ważnym komponentem, który należy przejrzeć w tej regule, jest czynność Send web request (Wyślij żądanie internetowe). Ta czynność jest kopiowana z poprzedniej reguły, ale z pewnymi zmianami. 

Adres URL elementu webhook został dołączony do ciągu /{{issue.incident_id}}. Wartości inteligentne służą do pobierania pola niestandardowego identyfikatora incydentu ze zgłoszenia i przekazania go do Statuspage jako obiekt docelowy żądania internetowego.

Metoda HTTP jest teraz ustawiona na PATCH zamiast POST. Powoduje to, że aplikacja StatusPage aktualizuje istniejący incydent zamiast tworzyć nowy. 

Pole danych niestandardowych zostaje zmienione tak, aby zawierało kod, który używa wartości inteligentnych, aby wyodrębnić treść komentarza ze zgłoszenia i umieścić go w treści incydentu.

Komentarz StatusPage na temat incydentu
Send web request (Wyślij żądanie internetowe)

Zamknij incydent StatusPage, gdy status zgłoszenia zmieni się na gotowy

Ta ostatnia reguła łączy je ze sobą. Informuje ona aplikację StatusPage, że incydent został rozwiązany, gdy status odpowiedniego zgłoszenia Jira zostanie zmieniony na Done (Gotowe). Na poniższym obrazie przedstawiono podsumowanie reguły.

Komentarz StatusPage na temat incydentu

Komponent żądania internetowego został ponownie skopiowany z poprzednich reguł i zmodyfikowany.

Send web request (Wyślij żądanie internetowe)

Pole danych niestandardowych zostało zmodyfikowane, aby ustawić status zdarzenia na „Resolved” (Rozwiązane). Jest to jedyna modyfikacja poprzedniej reguły komentarza. 

Reguły są teraz gotowe do użycia. Można je przetestować, tworząc zgłoszenia typu incydent i wykonując interakcje wyzwalające. Zachowanie reguł można monitorować w dzienniku audytu automatyzacji, który umożliwia rejestrowanie i odczytywanie informacji o zachowaniu reguł. Reguły automatyzacji przedstawione w tym przewodniku są świetnymi przykładami zaawansowanych reguł użycia interfejsu API żądań internetowych. 

Sprawdź setki innych przykładów w naszej bibliotece szablonów automatyzacji.

Polecane dla Ciebie

Społeczność DevOps

Ścieżka szkoleniowa DevOps

Zacznij korzystać bezpłatnie