Ćwiczenie – wyzwalanie funkcji platformy Azure przy użyciu zdarzenia usługi GitHub

Ukończone

W tym ćwiczeniu zaktualizujesz funkcję, aby analizować informacje pochodzące z ładunku elementu webhook usługi GitHub, a następnie wyświetlać wyniki.

Zaktualizuj funkcję, aby przeanalizować ładunek elementu webhook

  1. W witrynie Azure Portal przejdź do utworzonej wcześniej aplikacji funkcji.

  2. W okienku Aplikacja funkcji w okienku menu po lewej stronie w obszarze Funkcje wybierz pozycję Funkcje. Okienko Funkcje zostanie wyświetlone dla aplikacji funkcji.

  3. Wybierz utworzony element HttpTrigger1. Zostanie wyświetlone okienko HtttpTrigger1 dla funkcji.

  4. W okienku menu po lewej stronie w obszarze Deweloper wybierz pozycję Kod i testowanie. Zostanie wyświetlone okienko Kod i test dla funkcji.

  5. W ścieżce powyżej kodu z listy rozwijanej wybierz pozycję index.js. Zostanie wyświetlony kod JavaScript dla wyzwalacza.

  6. Zaktualizuj kod, zastępując ostatnie trzy wiersze kodu w treści funkcji następującym kodem.

    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")
        };
    }
    

    Ten kod pobiera typ zdarzenia z nagłówka zdarzenia, a także pola tytułu i akcji z treści komunikatu. Te informacje wskazują, że strona uległa zmianie, niezależnie od tego, czy została edytowana, czy też jest to nowo utworzona strona. Następnie kod tworzy odpowiedź, która podsumowuje akcję. Oto jak powinien wyglądać kod JavaScript:

    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. Na górnym pasku menu wybierz pozycję Zapisz.

Wyzwalanie funkcji platformy Azure przy użyciu zdarzenia Gollum

  1. Wróć do konta usługi GitHub.

  2. Wybierz repozytorium, którego używasz dla tego modułu.

  3. Na górnym pasku menu wybierz pozycję Ustawienia. Zostanie wyświetlone okienko Ustawienia.

  4. Na pasku bocznym wybierz pozycję Elementy webhook. Zostanie wyświetlone okienko Elementy webhook .

  5. Wybierz pozycję Edytuj dla elementu webhook. Zostanie wyświetlone okienko elementy webhook/Zarządzanie elementami webhook .

  6. Wybierz kartę Ostatnie dostawy .

  7. Wybierz najnowszy (górny) wpis dostarczania, wybierając przycisk wielokropka (...).

  8. Wybierz pozycję Dostarcz ponownie.

  9. W wyświetlonym oknie dialogowym Ponowne pobieranie ładunku? wybierz pozycję Tak, ponownie określ ten ładunek. Ta akcja symuluje ponowną zmianę strony typu wiki.

  10. Wybierz najnowszy (górny) wpis dostarczania (redelivery), wybierając przycisk wielokropka (...).

  11. Wybierz kartę Odpowiedź . Zobaczysz, jak element webhook wyzwolił funkcję, która następnie analizuje informacje i wysłała odpowiedź podobną do następującego tekstu:

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