Latihan - Memicu Fungsi Azure dengan peristiwa GitHub

Selesai

Dalam latihan ini, Anda akan memperbarui fungsi untuk memilah informasi dari payload webhook GitHub, dan menampilkan hasilnya.

Perbarui fungsi Anda untuk mengurai payload webhook

  1. Di portal Microsoft Azure, buka Aplikasi Fungsi yang Anda buat sebelumnya.

  2. Pada panel Aplikasi Fungsi, di panel menu kiri, di bagian Fungsi, pilih Fungsi. Panel Fungsi muncul untuk Aplikasi Fungsi Anda.

  3. Pilih HttpTrigger1 yang Anda buat. Panel HtttpTrigger1 muncul untuk Fungsi Anda.

  4. Di panel menu kiri, pada Pengembang, pilih Kode + Uji. Panel Kode + Uji untuk Fungsi Anda muncul.

  5. Di jalur di atas kode, dari daftar drop-down, pilih index.js. JavaScript untuk pemicu Anda muncul.

  6. Perbarui kode dengan mengganti tiga baris kode terakhir di badan fungsi dengan kode berikut.

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

    Kode ini mengambil jenis peristiwa dari header permintaan, serta bidang judul dan tindakan dari isi pesan. Informasi ini menunjukkan bahwa halaman telah berubah, dan apakah telah diedit atau baru dibuat. Kode kemudian membuat respons yang meringkas tindakan. Seperti inilah JavaScript seharusnya terlihat:

    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. Di bilah menu atas, pilih Simpan.

Memicu Fungsi Azure Anda dengan peristiwa Gollum

  1. Kembali ke akun GitHub Anda.

  2. Pilih repositori yang Anda gunakan untuk modul ini.

  3. Di bilah menu atas, pilih Pengaturan. Panel Pengaturan muncul.

  4. Di bilah sisi, pilih Webhook. Panel Webhook muncul.

  5. Pilih Edit untuk webhook Anda. Panel Webhook/Kelola webhook muncul.

  6. Pilih tab Pengiriman Terbaru.

  7. Pilih entri pengiriman terbaru (atas) dengan memilih tombol elipsisnya (...).

  8. Pilih Kirim Ulang.

  9. Pada kotak dialog Kirim ulang payload? yang muncul, pilih Ya, kirim ulang payload ini. Tindakan ini mensimulasikan Anda mengubah halaman Wiki lagi.

  10. Pilih entri pengiriman terbaru (atas) (pengiriman ulang) dengan memilih tombol elipsisnya (...).

  11. Pilih tab Respons. Anda akan melihat bagaimana webhook memicu fungsi Anda, yang kemudian menguraikan informasi, dan mengirim respons yang mirip dengan teks berikut:

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