Close

Automatyczne zarządzanie incydentami za pomocą Jira i StatusPage

Kev Zettler — zdjęcie portretowe
Kev Zettler

Full stack web developer, DevOps

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

Godzina

5 minut czytania.

Publiczność

You’re an experienced user of Jira Software and have a Statuspage account.

Wymagania wstępne

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

You will need a Statuspage account with API access enabled. You will also need your Statuspage API key and Page Code to configure the following automation rules. Check out the Statuspage API guide to locate your Statuspage API keys. Get started with Statuspage here.

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 warunku Pola zgłoszeń, aby sprawdzić, czy typ zgłoszenia to Incydent, i wykonać adekwatne czynności. Skonfiguruj Warunek pól zgłoszeń tak, aby pole Issue Type (Typ zgłoszenia) było równe wartości Incydent. Kliknij przycisk Save (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 Webhook URL (Adres URL webhook) wprowadź adres URL punktu końcowego zdarzenia StatusPage:
https://api.StatusPage.io/v1/pages/your-page-code/incidents

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 Save (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 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.

Kev Zettler
Kev Zettler

Kev jest wiodącym web deweloperem i przedsiębiorcą z ponad dziesięcioleciem doświadczenia w tworzeniu produktów i zespołów za pomocą metodologii Agile. Jest zapalonym twórcą, autorem i edukatorem w zakresie nowych technologii open source, takich jak DevOps, kryptowaluty i VR/AR. W wolnym czasie bierze udział w jamach poświęconych tworzeniu gier indie.


Udostępnij ten artykuł
Następny temat

Zalecane lektury

Dodaj te zasoby do zakładek, aby dowiedzieć się więcej na temat rodzajów zespołów DevOps lub otrzymywać aktualności na temat metodyki DevOps w Atlassian.

Ilustracja DevOps

Społeczność DevOps

Ilustracja DevOps

Warsztaty symulacyjne

Ilustracja przedstawiająca mapę

Zacznij korzystać za darmo

Zapisz się do newslettera DevOps

Thank you for signing up