Latihan - Menyiapkan webhook untuk repositori GitHub

Selesai

Dalam latihan ini, Anda akan menyiapkan webhook untuk repositori GitHub. Anda akan mempelajari cara mendengarkan peristiwa tertentu (dalam hal ini, peristiwa Gollum ), dan cara membuat panggilan balik webhook dalam fungsi Anda saat peristiwa dipicu.

Konfigurasi

  1. Menggunakan browser weba, masuk ke akun GitHub Anda.

  2. Buat repositori baru dengan memilih Baru di panel menu kiri. Halaman Buat repositor barui muncul.

  3. Dalam kotak Nama repositori, masukkan nama yang relevan seperti LearnWebhookTest.

  4. Pilih Publik untuk mengaktifkan modul wiki Anda, dan menemukannya di menu.

  5. Pilih Buat repositori. Halaman Penyiapan cepat ditampilkan.

  6. Pilih tautan membuat file baru.

  7. Di bilah menu atas, pilih Wiki untuk menampilkan halaman di repositori Anda (atau repo). Sebuah halaman Selamat datang muncul.

  8. Pilih Buat halaman pertama. Templat Buat halaman baru ditampilkan.

  9. Tambahkan teks, lalu pilih Simpan Halaman. Halaman pertama di Wiki adalah halaman Beranda.

Menambahkan webhook untuk kejadian Gollum

Gollum adalah nama peristiwa GitHub yang dipicu setiap kali halaman di wiki repositori dibuat atau diperbarui.

  1. Pada beranda dalam tampilan Wiki adalah bilah sisi Halaman yang mencantumkan halaman dalam repo Anda. Pilih Beranda untuk menampilkan beranda.

  2. Di beranda, di bilah menu atas, pilih Pengaturan. Panel Pengaturan muncul.

  3. Di bilah sisi Pengaturan, pilih Webhook. Panel Webhook muncul.

  4. Di kanan atas, pilih Tambahkan webhook. GitHub mungkin meminta Anda untuk mengonfirmasi kata sandi Anda untuk GitHub.

  5. Pada panel Webhook/ Tambahkan webhook, masukkan nilai berikut untuk setiap pengaturan.

    Pengaturan Nilai
    URL Payload URL untuk aplikasi fungsi Azure Anda dari latihan sebelumnya. Untuk bantuan, lihat catatan berikut.
    Jenis konten Dari daftar drop-down, pilih application/json.
    Peristiwa mana yang Anda inginkan untuk memicu webhook ini? Pilih Izinkan saya memilih acara individual. Dalam daftar peristiwa yang muncul, gulir ke bawah dan pilih kotak centang Wiki. Pastikan tidak ada kotak centang lain yang dipilih.
    Aktif Diperiksa.

    Tip

    Salin URL fungsi dari panel Azure HttpTrigger dengan memilih Dapatkan Url fungsi dari bilah perintah. URL Anda terlihat mirip dengan: https://<your-functionapp-name>.azurewebsites.net/api/HttpTrigger1?code=aUjXIpqdJ0ZHPQuB0SzFegxGJu0nAXmsQBnmkCpJ6RYxleRaoxJ8cQ==

  6. Pilih Tambahkan webhook. Panel Webhook muncul.

  7. Verifikasi bahwa webhook baru Anda muncul. Hal itu harus memiliki (gollum) di akhir namanya.

Uji webhook

  1. Di GitHub, di bilah menu atas, pilih Wiki. Halaman Beranda yang Anda buat sebelumnya akan muncul.

  2. Pilih Edit. Panel Beranda Pengeditan muncul.

  3. Di area teks panel, masukkan teks berikut:

    Testing Webhook
    
  4. Pilih Simpan halaman. Halaman Beranda muncul kembali.

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

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

  7. Pilih Edit. Panel Webhook/Kelola webhook muncul.

  8. Pilih tab Pengiriman Terbaru (Anda mungkin perlu menggulir ke bagian bawah halaman).

  9. Dalam daftar, pilih entri pengiriman teratas (terbaru) dengan memilih elipsis (...).

    Anda akan melihat bagian Header, termasuk Peristiwa:

    Request URL: https://testwh123456.azurewebsites.net/api/HttpTrigger1?code=aUjXIpqdJ0ZHPQuB0SzFegxGJu0nAXmsQBnmkCpJ6RYxleRaoxJ8cQ%3D%3D
    Request method: POST
    Accept: */*
    content-type: application/json
    User-Agent: GitHub-Hookshot/16496cb
    X-GitHub-Delivery: 9ed46280-6ab3-11e9-8a19-f1a14922a239
    X-GitHub-Event: gollum
    X-GitHub-Hook-ID: 312141005
    X-GitHub-Hook-Installation-Target-ID: 394459163
    X-GitHub-Hook-Installation-Target-Type: repository
    

    Anda juga akan melihat bagian Payload berisi informasi yang menunjukkan halaman wiki Anda diedit. Payload berisi bagian halaman, repositori, dan pengirim, yang akan terlihat seperti contoh berikut:

        "pages": [
            {
                "page_name": "Home",
                "title": "Home",
                "summary": null,
                "action": "edited",
                "sha": "04d012c5f92a95ae3f7721173bf9f2b1b35ea22f",
                "html_url": "https://github.com/.../wiki/Home"
            }
        ],
        "repository" : {
            "id": 176302421,
            "node_id": "MDEwOlJlcG9zaXRvcnkxNzYzMDI0MjE=",
            "name": "tieredstorage",
            ...
        },
        "sender" : {
            ...
        }
    
  10. Di bawah tab Pengiriman Terbaru, pilih tab Respons.

    Anda akan melihat pesan respons yang dihasilkan oleh fungsi Azure. Untuk contoh ini, isi harus berisi pesan. Fungsi yang dipicu HTTP ini berhasil dijalankan. Berikan nama dalam string kueri atau di isi permintaan untuk respons yang dipersonalisasi.