Nastavení webhooku pro úložiště GitHubu
Na GitHubu je možné webhooky nastavit pro organizaci nebo pro konkrétní úložiště. Webhook se aktivuje při každém výskytu jedné nebo více odebíraných událostí. Například událost Gollum umožňuje naslouchat aktualizacím wikiwebu, zejména vytváření a aktualizace pro stránku wikiwebu.
V této lekci se dozvíte, jak nastavit webhook, který naslouchá události změny z wikiwebu GitHub vaší společnosti.
Nastavení webhooku
Nastavení webhooku je dvoustupňový proces. Nejprve zadáte na GitHubu, jak se má webhook chovat a jaké události se budou naslouchat. Za druhé nastavíte funkci ve službě Azure Functions tak, aby přijímala a spravila datovou část přijatou z webhooku. V ukázkovém scénáři nastavujeme webhook pro konkrétní úložiště.
Webhook nastavíte tak, že na portálu GitHubu vyberete Nastavení v horním řádku nabídek. Zobrazí se stránka Nastavení s názvem úložiště. V nabídce vlevo vyberte Webhooky a pak vyberte Přidat webhook. Webhook můžete také sestavit a spravovat prostřednictvím rozhraní Webhooks API, které se v tomto modulu nezabývá.
Webhooky vyžadují pár nastavení konfigurace, než je budete moct použít. Dále se každému z těchto nastavení budeme věnovat.
Adresa URL datové části
Adresa URL datové části je adresa URL serveru, který bude přijímat požadavky POST webhooku.
Každý typ události má specifický formát datové části. Tato datová část obsahuje informace o události, která webhook aktivovala.
Typ obsahu
Webhooky se doručují pomocí dvou různých typů obsahu:
- Typ obsahu application/json doručuje datovou část JSON přímo jako text požadavku POST.
- Typ obsahu application/x-www-form-urlencoded odešle datovou část JSON jako parametr formuláře s názvem payload.
Poznámka:
Stránka Add webhook také umožňuje určit, jak chcete chránit informace posílané webhookem pomocí tajného kódu. Tomuto tématu se věnujeme později v tomto modulu.
Události
Události tvoří centrum webhooků. K událostem dochází při každé akci v úložišti. Když dojde k události, webhook se aktivuje a zavolá zadaná adresa URL a odešle informace o datové části a události na vaši adresu URL. Pokud chcete například odpovědět při každém vyvolání problému v úložišti, vyberte Povolit mi vybrat jednotlivé události a zaškrtněte políčko Problémy . Nezapomeňte zaškrtnout políčko Aktivní pro příjem událostí problému pro aktivované webhooky. Pak aktivujte trigger výběrem možnosti Přidat webhook .
Když chcete naslouchat aktualizacím na wikiwebu pro úložiště, zaškrtněte políčko Wiki. Tato událost je událost Gollum probíraná dříve. Vyberte Přidat webhook a uložte všechny vybrané jednotlivé události.
Úplný seznam událostí webhooku a jejich spuštění najdete na webu GitHub Webhooks Events.
V následujícím cvičení vás provedeme procesem nastavení webhooku pro úložiště GitHub.