Artykuły
Samouczki
Interaktywne przewodniki
Automatyczne zarządzanie incydentami za pomocą Jira i StatusPage
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).
Wyszukaj i wybierz Issue created (Utworzone zgłoszenie).
Kliknij przycisk Save (Zapisz), aby kontynuować.
Krok 2. Utworzenie nowego warunku
Następnie wyszukaj i wybierz warunek pól zgłoszenia.
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ć.
Krok 3. Wysłanie żądania internetowego
Wybierz opcję Send web request (Wyślij żądanie internetowe), co spowoduje aktualizację StatusPage.
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ć.
Krok 4: Utworzenie czynności „Edit Issue” (Edytuj zgłoszenie)
Na koniec wyszukaj i wybierz 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).
Poniższy zrzut ekranu pokazuje końcowe podsumowanie tej 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.
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.
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.
Komponent żądania internetowego został ponownie skopiowany z poprzednich reguł i zmodyfikowany.
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.
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.