Cvičení – nastavení webhooku pro úložiště GitHubu
V tomto cvičení nastavíte webhook pro úložiště GitHubu. Dozvíte se, jak naslouchat konkrétním událostem (v tomto případě události Gollum ) a jak provést zpětné volání webhooku ve vaší funkci při aktivaci události.
Nastavení
Ve webovém prohlížeči se přihlaste k účtu GitHub.
Nové úložiště vytvoříte tak , že v levém podokně nabídek vyberete Nový . Zobrazí se stránka Vytvořit nové úložiště .
Do pole Název úložiště zadejte smysluplný název, například LearnWebhookTest.
Vyberte Veřejný , aby se aktivoval modul wikiwebu, a najděte ho v nabídce.
Vyberte Create repository (Vytvořit úložiště). Zobrazí se stránka Rychlé nastavení .
Vyberte odkaz pro vytvoření nového souboru.
V horním řádku nabídek vyberte Wiki a zobrazte stránky v úložišti (nebo úložišti). Zobrazí se úvodní stránka.
Klikněte na Create the first page (Vytvořit první stránku). Zobrazí se šablona Vytvořit novou stránku .
Přidejte nějaký text a vyberte Uložit stránku. První stránka wikiwebu je domovská stránka.
Přidání webhooku pro událost Gollum
Gollum je název události GitHubu, která se aktivuje při každém vytvoření nebo aktualizaci stránky ve wikiwebu úložiště.
Na domovské stránce v zobrazení wikiwebu je boční panel Stránky se seznamem stránek v úložišti. Výběrem možnosti Domů zobrazíte domovskou stránku.
Na domovské stránce v horním řádku nabídek vyberte Nastavení. Zobrazí se podokno Nastavení .
Na bočním panelu Nastavení vyberte Webhooky. Zobrazí se podokno Webhooky .
V pravém horním rohu vyberte Přidat webhook. GitHub vás může požádat o potvrzení hesla pro GitHub.
V podokně Webhooky/ Přidat webhook zadejte pro každé nastavení následující hodnoty.
Nastavení Hodnota Adresa URL datové části Adresa URL aplikace funkcí Azure z předchozího cvičení Nápovědu najdete v následující poznámce. Typ obsahu V rozevíracím seznamu vyberte application/json. Jaké události chcete aktivovat tento webhook? Vyberte Možnost Povolit mi vybrat jednotlivé události. V zobrazeném seznamu událostí se posuňte dolů a zaškrtněte políčko Wiki . Ujistěte se, že nejsou zaškrtnutá žádná další zaškrtávací políčka. Aktivní Zaškrtnuto. Tip
Zkopírujte adresu URL funkce z podokna Azure HttpTrigger výběrem možnosti Získat adresu URL funkce z panelu příkazů. Vaše adresa URL vypadá nějak takto:
https://<your-functionapp-name>.azurewebsites.net/api/HttpTrigger1?code=aUjXIpqdJ0ZHPQuB0SzFegxGJu0nAXmsQBnmkCpJ6RYxleRaoxJ8cQ==
Vyberte Přidat webhook. Zobrazí se podokno Webhooky .
Ověřte, že se zobrazí nový webhook. Na konci názvu by měl mít (gollum ).
Otestování webhooku
Na GitHubu v horním řádku nabídek vyberte Wiki. Zobrazí se domovská stránka, kterou jste vytvořili dříve.
Vyberte položku Upravit. Zobrazí se podokno Upravit domovskou stránku.
Do textové oblasti podokna zadejte následující text:
Testing Webhook
Vyberte Uložit stránku. Domovská stránka se znovu zobrazí.
V horním řádku nabídek vyberte Nastavení. Zobrazí se podokno Nastavení .
Na bočním panelu vyberte Webhooky. Zobrazí se podokno Webhooky .
Vyberte položku Upravit. Zobrazí se podokno Webhooky/Spravovat webhook .
Vyberte kartu Poslední dodávky (možná se budete muset posunout do dolní části stránky).
V seznamu vyberte horní (nejnovější) položku doručení tak, že vyberete tři tečky (...).
Zobrazí se část Záhlaví , včetně události:
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
Uvidíte také, že oddíl Datová část obsahuje informace o tom, že vaše stránka wikiwebu byla upravena. Datová část obsahuje stránky, úložiště a oddíly odesílatele , které by měly vypadat přibližně jako v následujícím příkladu:
"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 kartě Poslední dodávky vyberte kartu Odpověď.
Zobrazí se vám zpráva odpovědi vygenerovaná funkcí Azure. V tomto příkladu by tělo (text) mělo obsahovat zprávu. Tato funkce aktivovaná protokolem HTTP se úspěšně provedla. Předání názvu v řetězci dotazu nebo v textu požadavku pro přizpůsobenou odpověď.