Ćwiczenie – konfigurowanie elementu webhook na potrzeby repozytorium GitHub
W tym ćwiczeniu skonfigurujesz element webhook dla repozytorium GitHub. Dowiesz się, jak nasłuchiwać określonych zdarzeń (w tym przypadku zdarzenia Gollum ) i jak utworzyć wywołanie zwrotne elementu webhook w funkcji po wyzwoleniu zdarzenia.
Ustawienia
Za pomocą przeglądarki internetowej zaloguj się do konta GitHub.
Utwórz nowe repozytorium, wybierając pozycję Nowy w okienku menu po lewej stronie. Zostanie wyświetlona strona Tworzenie nowego repozytorium .
W polu Nazwa repozytorium wprowadź zrozumiałą nazwę, taką jak LearnWebhookTest.
Wybierz pozycję Publiczne , aby aktywować moduł typu wiki, i znajdź go w menu.
Kliknij przycisk Create repository (Utwórz repozytorium). Zostanie wyświetlona strona Szybka konfiguracja .
Wybierz link do tworzenia nowego pliku.
Na górnym pasku menu wybierz pozycję Wiki , aby wyświetlić strony w repozytorium (lub repozytorium). Zostanie wyświetlona strona powitalna .
Wybierz pozycję Utwórz pierwszą stronę. Zostanie wyświetlony szablon Tworzenie nowej strony .
Dodaj tekst i wybierz pozycję Zapisz stronę. Pierwsza strona w witrynie typu wiki to strona główna.
Dodawanie elementu webhook dla zdarzenia Gollum
Gollum to nazwa zdarzenia usługi GitHub uruchamianego za każdym razem, gdy strona w witrynie typu wiki repozytorium zostanie utworzona lub zaktualizowana.
Na stronie głównej w widoku wiki jest pasek boczny Strony , który wyświetla strony w repozytorium. Wybierz pozycję Strona główna , aby wyświetlić stronę główną.
Na stronie głównej na górnym pasku menu wybierz pozycję Ustawienia. Zostanie wyświetlone okienko Ustawienia .
Na pasku bocznym Ustawienia wybierz pozycję Elementy webhook. Zostanie wyświetlone okienko Elementy webhook .
W prawym górnym rogu wybierz pozycję Dodaj element webhook. Usługa GitHub może poprosić Cię o potwierdzenie hasła dla usługi GitHub.
W okienku elementy webhook/ Dodaj element webhook wprowadź następujące wartości dla każdego ustawienia.
Ustawienie Wartość Adres URL ładunku Adres URL aplikacji funkcji platformy Azure z poprzedniego ćwiczenia. Aby uzyskać pomoc, zobacz następującą notatkę. Typ zawartości Z listy rozwijanej wybierz pozycję application/json. Które zdarzenia chcesz wyzwolić ten element webhook? Wybierz pozycję Pozwól mi wybrać poszczególne zdarzenia. Na wyświetlonej liście zdarzeń przewiń w dół i zaznacz pole wyboru Wiki . Upewnij się, że nie zaznaczono żadnych innych pól wyboru. Aktywne Zaznaczono. Napiwek
Skopiuj adres URL funkcji z okienka Azure HttpTrigger, wybierając pozycję Pobierz adres URL funkcji na pasku poleceń. Adres URL wygląda podobnie do następującego:
https://<your-functionapp-name>.azurewebsites.net/api/HttpTrigger1?code=aUjXIpqdJ0ZHPQuB0SzFegxGJu0nAXmsQBnmkCpJ6RYxleRaoxJ8cQ==
Wybierz pozycję Dodaj element webhook. Zostanie wyświetlone okienko Elementy webhook .
Sprawdź, czy został wyświetlony nowy element webhook. Powinna mieć wartość (gollum) na końcu jego nazwy.
Testowanie elementu webhook
W usłudze GitHub na górnym pasku menu wybierz pozycję Wiki. Zostanie wyświetlona strona główna utworzona wcześniej.
Zaznacz Edytuj. Zostanie wyświetlone okienko Edytowanie strony głównej .
W obszarze tekstowym okienka wprowadź następujący tekst:
Testing Webhook
Wybierz pozycję Zapisz stronę. Strona główna pojawia się ponownie.
Na górnym pasku menu wybierz pozycję Ustawienia. Zostanie wyświetlone okienko Ustawienia .
Na pasku bocznym wybierz pozycję Elementy webhook. Zostanie wyświetlone okienko Elementy webhook .
Zaznacz Edytuj. Zostanie wyświetlone okienko elementy webhook/Zarządzanie elementami webhook .
Wybierz kartę Ostatnie dostawy (może być konieczne przewinięcie do dołu strony).
Na liście wybierz górny (najnowszy) wpis dostarczania, wybierając wielokropek (...).
Zobaczysz sekcję Nagłówki , w tym zdarzenie:
Request URL: https://testwh123456.azurewebsites.net/api/HttpTrigger1?code=aUjXIpqdJ0ZHPQuB0SzFegxGJu0nAXmsQBnmkCpJ6RYxleRaoxJ8cQ%3D%3D Request method: POST Accept: */* content-type: application/json User-Agent: GitHub-Hookshot/16496cb X-GitHub-Delivery: 9ed46280-6ab3-11e9-8a19-f1a14922a239 X-GitHub-Event: gollum X-GitHub-Hook-ID: 312141005 X-GitHub-Hook-Installation-Target-ID: 394459163 X-GitHub-Hook-Installation-Target-Type: repository
Zobaczysz również, że sekcja Ładunki zawiera informacje wskazujące, że strona typu wiki została edytowana. Ładunek zawiera strony, repozytorium i sekcje nadawcy, które powinny wyglądać podobnie do poniższego przykładu:
"pages": [ { "page_name": "Home", "title": "Home", "summary": null, "action": "edited", "sha": "04d012c5f92a95ae3f7721173bf9f2b1b35ea22f", "html_url": "https://github.com/.../wiki/Home" } ], "repository" : { "id": 176302421, "node_id": "MDEwOlJlcG9zaXRvcnkxNzYzMDI0MjE=", "name": "tieredstorage", ... }, "sender" : { ... }
Na karcie Ostatnie dostawy wybierz kartę Odpowiedź.
Zobaczysz komunikat odpowiedzi wygenerowany przez funkcję platformy Azure. W tym przykładzie treść powinna zawierać komunikat. Ta funkcja wyzwalana przez protokół HTTP została wykonana pomyślnie. Przekaż nazwę w ciągu zapytania lub w treści żądania dla spersonalizowanej odpowiedzi.