Alıştırma - GitHub deposu için bir web kancası ayarlama

Tamamlandı

Bu alıştırmada GitHub deposu için bir web kancası oluşturacaksınız. Belirli olayları dinlemeyi (bu örnekte Gollum olayı) ve olay tetiklendiğinde işlevinizde web kancası geri çağırmasını nasıl yapacağınızı öğreneceksiniz.

Kurulum

  1. Web tarayıcınızı kullanarak GitHub hesabınızda oturum açın.

  2. Soldaki menü bölmesinde Yeni'yi seçerek yeni bir depo oluşturun. Yeni depo oluştur sayfası görüntülenir.

  3. Depo adı kutusuna LearnWebhookTest gibi anlamlı bir ad girin.

  4. Wiki modülünüzü etkinleştirmek için Genel'i seçin ve menüde bulun.

  5. Create repository (Depo oluştur) öğesine tıklayın. Hızlı kurulum sayfası görüntülenir.

  6. Yeni dosya oluşturma bağlantısını seçin.

  7. Üst menü çubuğunda Wiki'yi seçerek deponuzdaki (veya deponuzdaki) sayfaları görüntüleyin. Hoş Geldiniz sayfası görüntülenir.

  8. İlk sayfayı oluştur'u belirleyin. Yeni sayfa oluştur şablonu görüntülenir.

  9. Metin ekleyin ve Sayfayı Kaydet'i seçin. Wiki'deki ilk sayfa Giriş sayfasıdır.

Gollum olayı için web kancası ekleme

Gollum , bir deponun wiki'sindeki bir sayfa oluşturulduğunda veya güncelleştirildiğinde tetiklenen GitHub olayının adıdır.

  1. Wiki görünümündeki giriş sayfasında, deponuzdaki sayfaları listeleyen sayfalar kenar çubuğu bulunur. Giriş sayfasını görüntülemek için Giriş'i seçin.

  2. Giriş sayfasındaki üst menü çubuğunda Ayarlar'ı seçin. Ayarlar bölmesi görüntülenir.

  3. Ayarlar kenar çubuğunda Web kancaları'nı seçin. Web Kancaları bölmesi görüntülenir.

  4. Sağ üst kısımda Web kancası ekle'yi seçin. GitHub, GitHub parolanızı onaylamanızı isteyebilir.

  5. Web Kancaları/ Web kancası ekle bölmesinde, her ayar için aşağıdaki değerleri girin.

    Ayar Değer
    Yük URL'si Önceki alıştırmadaki Azure işlev uygulamanızın URL'si. Yardım için aşağıdaki nota bakın.
    Content type Açılan listeden application/json öğesini seçin.
    Bu web kancasını hangi olayları tetiklemek istiyorsunuz? Tek tek olayları seçmeme izin ver'i seçin. Görüntülenen olay listesinde aşağı kaydırın ve Wiki onay kutusunu seçin. Başka onay kutularının seçili olmadığından emin olun.
    Etkin İşaretlendi.

    Bahşiş

    Komut çubuğundan İşlev URL'sini al'ı seçerek Azure HttpTrigger bölmesinden işlev URL'sini kopyalayın. URL'niz şuna benzer: https://<your-functionapp-name>.azurewebsites.net/api/HttpTrigger1?code=aUjXIpqdJ0ZHPQuB0SzFegxGJu0nAXmsQBnmkCpJ6RYxleRaoxJ8cQ==

  6. Web kancası ekle'yi seçin. Web Kancaları bölmesi görüntülenir.

  7. Yeni web kancanızın göründüğünü doğrulayın. Adının sonunda (gollum) olmalıdır.

Web kancasını test etme

  1. GitHub'daki üst menü çubuğunda Wiki'yi seçin. Daha önce oluşturduğunuz Giriş sayfası görüntülenir.

  2. Düzenle'yi seçin. Giriş Sayfası Düzenleniyor bölmesi görüntülenir.

  3. Bölmenin metin alanına aşağıdaki metni girin:

    Testing Webhook
    
  4. Sayfayı Kaydet'i seçin. Giriş sayfası yeniden görünür.

  5. Üst menü çubuğunda Ayarlar'i seçin. Ayarlar bölmesi görüntülenir.

  6. Kenar çubuğunda Web kancaları'nı seçin. Web Kancaları bölmesi görüntülenir.

  7. Düzenle'yi seçin. Web Kancaları/Web kancasını yönet bölmesi görüntülenir.

  8. Son Teslimatlar sekmesini seçin (sayfanın en altına kaydırmanız gerekebilir).

  9. Listede, üç noktayı (...) seçerek en üst (en son) teslim girişini seçin.

    Olay da dahil olmak üzere Üst Bilgiler bölümünü görürsünüz:

    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
    

    Ayrıca Payload bölümünde wiki sayfanızın düzenlendiğini belirten bilgiler bulunduğunu da göreceksiniz. Yük sayfalar, depo ve gönderen bölümleri içerir ve bu bölümler aşağıdaki örneğe benzer olmalıdır:

        "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. Son Teslimatlar sekmesinin altında Yanıt sekmesini seçin.

    Azure işlevi tarafından oluşturulan yanıt iletisini göreceksiniz. Bu örnekte gövdede bir ileti bulunmalıdır. Bu HTTP ile tetiklenen işlev başarılı bir şekilde yürütüldü. Kişiselleştirilmiş yanıt için sorgu dizesinde veya istek gövdesinde bir ad geçirme.