Oefening: Een Azure-functie activeren met een GitHub-gebeurtenis
In deze oefening werkt u uw functie bij om informatie te parseren uit de nettolading van de GitHub-webhook en de resultaten weer te geven.
Uw functie bijwerken om de nettolading van de webhook te parseren
Ga in Azure Portal naar de functie-app die u eerder hebt gemaakt.
Selecteer Functies in het deelvenster Functie-app in het linkermenuvenster onder Functies. Het deelvenster Functions wordt weergegeven voor uw functie-app.
Selecteer de HttpTrigger1 die u hebt gemaakt. Het deelvenster HtttpTrigger1 wordt weergegeven voor uw functie.
Selecteer code + test in het linkermenuvenster onder Ontwikkelaars. Het deelvenster Code en test voor uw functie wordt weergegeven.
Selecteer in het pad boven de code in de vervolgkeuzelijst index.js. Het JavaScript voor uw trigger wordt weergegeven.
Werk de code bij door de laatste drie regels code in de hoofdtekst van de functie te vervangen door de volgende code.
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") }; }
Deze code haalt het gebeurtenistype op uit de aanvraagheader en de titel- en actievelden uit de berichttekst. Deze informatie geeft aan dat de pagina is gewijzigd en of deze is bewerkt of opnieuw is gemaakt. Met de code wordt vervolgens een antwoord samengesteld dat de actie samenvat. Hier ziet u hoe JavaScript eruit moet zien:
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") }; } }
Selecteer Opslaan in de bovenste menubalk.
Uw Azure-functie met een Gollum-gebeurtenis activeren
Ga terug naar uw GitHub-account.
Selecteer de opslagplaats die u voor deze module gebruikt.
Selecteer Instellingen in de bovenste menubalk. Het deelvenster Instellingen wordt weergegeven.
Selecteer Webhooks in de zijbalk. Het deelvenster Webhooks wordt weergegeven.
Selecteer Bewerken voor uw webhook. Het deelvenster Webhooks/Webhook beheren wordt weergegeven.
Selecteer het tabblad Recente leveringen .
Selecteer de meest recente (bovenste) leveringsvermelding door de knop met het beletselteken (...) te selecteren.
Selecteer Opnieuw verzenden.
Selecteer in het dialoogvenster Redeliver payload dat wordt weergegeven Ja, deze nettolading opnieuw verzenden. Deze actie simuleert dat u uw Wiki-pagina opnieuw wijzigt.
Selecteer de meest recente (bovenste) leveringsvermelding (redelivery) door de knop met het beletselteken (...) te selecteren.
Selecteer het tabblad Antwoord . U ziet hoe de webhook uw functie heeft geactiveerd, die vervolgens de informatie heeft geparseerd en een antwoord heeft verzonden dat vergelijkbaar is met de volgende tekst:
Page is Home, Action is edited, Event Type is gollum