Cvičení – aktivace funkce Azure pomocí události GitHubu

Dokončeno

V tomto cvičení budete aktualizovat svou funkci tak, aby parsovala informace z datové části webhooku GitHubu a zobrazila výsledky.

Aktualizace funkce pro parsování datové části webhooku

  1. Na webu Azure Portal přejděte do aplikace funkcí, kterou jste vytvořili dříve.

  2. V podokně Aplikace funkcí v levém podokně nabídek v části Funkce vyberte Funkce. Zobrazí se podokno Funkce pro vaši aplikaci funkcí.

  3. Vyberte httpTrigger1, který jste vytvořili. Pro vaši funkci se zobrazí podokno HtttpTrigger1.

  4. V levém podokně nabídek v části Vývojář vyberte Kód + Test. Zobrazí se podokno Code + Test pro vaši funkci .

  5. V cestě nad kódem v rozevíracím seznamu vyberte index.js. Zobrazí se JavaScript pro váš trigger.

  6. Aktualizujte kód nahrazením posledních tří řádků kódu v těle funkce následujícím kódem.

    if (req.body.pages[0].title){
        context.res = {
            body: "Page is " + req.body.pages[0].title + ", Action is " + req.body.pages[0].action + ", Event Type is " + req.headers['x-github-event']
        };
    }
    else {
        context.res = {
            status: 400,
            body: ("Invalid payload for Wiki event")
        };
    }
    

    Tento kód načte typ události z hlavičky požadavku a pole názvu a akce z textu zprávy. Tyto informace indikují, že došlo ke změně stránky, a jestli je upravená nebo nově vytvořená. Kód pak vytvoří odpověď, která shrnuje akci. Takto by měl JavaScript vypadat:

    module.exports = async function (context, req) {
        context.log('JavaScript HTTP trigger function processed a request.');
    
        const name = (req.query.name || (req.body && req.body.name));
        const responseMessage = name
            ? "Hello, " + name + ". This HTTP triggered function executed successfully."
            : "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.";
    
        if (req.body.pages[0].title){
            context.res = {
                body: "Page is " + req.body.pages[0].title + ", Action is " + req.body.pages[0].action + ", Event Type is " + req.headers['x-github-event']
            };
         }
         else {
            context.res = {
                status: 400,
                body: ("Invalid payload for Wiki event")
            };
        }
    }
    
  7. V horním řádku nabídek vyberte Uložit.

Aktivace funkce Azure pomocí události Gollum

  1. Vraťte se do účtu GitHub.

  2. Vyberte úložiště, které používáte pro tento modul.

  3. V horním řádku nabídek vyberte Nastavení. Zobrazí se podokno Nastavení .

  4. Na bočním panelu vyberte Webhooky. Zobrazí se podokno Webhooky .

  5. Vyberte Upravit pro váš webhook. Zobrazí se podokno Webhooky/Spravovat webhook .

  6. Vyberte kartu Poslední dodávky.

  7. Výběrem tlačítka se třemi tečkou (...) vyberte nejnovější (horní) položku doručení.

  8. Vyberte Redeliver (Doručit znovu).

  9. V dialogovém okně Redeliver payload? (Datová část Redeliver), které se zobrazí, vyberte Ano, znovu spusťte tuto datovou část. Tato akce simuluje, jak znovu měníte stránku wikiwebu.

  10. Výběrem tlačítka se třemi tečkou (...) vyberte nejnovější (horní) položku doručení (znovu).

  11. Vyberte kartu Odpověď. Uvidíte, jak webhook aktivoval vaši funkci, která pak informace parsovala, a odeslala odpověď podobnou následujícímu textu:

    Page is Home, Action is edited, Event Type is gollum