Aracılığıyla paylaş


Web kancaları

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Bu makalede web kancaları ve Azure DevOps projeniz için bunların nasıl ayarlanacağı açıklanmaktadır. Web kancaları, Azure DevOps olayının JSON gösterimini genel uç noktası olan herhangi bir hizmete göndermek için bir yol sağlar.

Not

Azure DevOps, hizmet kancalarını ayarlamak veya dış hizmetlerle tümleştirmek için ücret almaz. Hizmetleriyle ilgili fiyatlandırma için belirli bir hizmetin sitesine bakın.

Önkoşullar

Azure DevOps kuruluşunda web kancalarını yönetmek için aşağıdaki önkoşullara ihtiyacınız vardır:

  • Kuruluştaki sahip veya Proje Koleksiyonu Yöneticisi rolü.

  • Kuruluştaki bir proje ve Azure DevOps olaylarını göndermek istediğiniz genel HTTP veya HTTPS uç noktasına sahip bir hizmet.

    Önemli

    Yalnızca HTTPS uç noktalarının kullanılması önerilir. HTTP, olay yükünde şifrelenmemiş kimlik doğrulama üst bilgileri de dahil olmak üzere özel veriler gönderme potansiyeline sahiptir. Web kancası üzerinde temel kimlik doğrulaması için HTTPS kullanmalısınız.

Bir hizmete JSON gösterimi gönderme

  1. Azure DevOps projenizde Adresinde Proje ayarları>Hizmet kancaları bölümüne https://<organization-name>/<project-name>/_settings/serviceHooksgidin.

    Proje ayarlarında Hizmet kancaları seçiminin ekran görüntüsü.

  2. Hizmet Kancaları sayfasında simgeyi + veya Abonelik oluştur'u seçin.

    Hizmet Kancaları sayfasında Abonelik oluştur'u seçme işleminin ekran görüntüsü.

  3. Hizmet ekranında Web Kancaları'nı ve ardından İleri'yi seçin.

    Hizmet sayfasında Web Kancaları'nı seçme işleminin ekran görüntüsü.

  4. Tetikleyici ekranında, web kancasını tetiklemesini istediğiniz Azure DevOps olayını seçip yapılandırın ve ardından İleri'yi seçin. Azure DevOps tüketicisi tarafından gönderilen JSON yükleri hakkında daha fazla bilgi için bkz . Hizmet kancaları olayları.

    Tetikleyici olayını seçme ve yapılandırma işleminin ekran görüntüsü.

  5. Eylem ekranında hedef URL'yi ve olay gerçekleştiğinde yapılacakları yapılandırın. Gönderilecek kaynak ayrıntıları, Gönderilecek iletiler ve Gönderilecek ayrıntılı iletiler bölümüne ne girilir hakkında daha fazla bilgi için bkz. Gönderilecek kaynak ayrıntıları.

    Not

    Web kancaları localhost (geri döngü) veya özel aralık IPv4/IPv6 adreslerini hedefleyemez.

  6. Hizmet kancası aboneliğini test etmek için Test et'i seçin.

    Eylem iletişim kutusunu yapılandırma işleminin ekran görüntüsü.

  7. Test başarıyla tamamlandığında bildirim ekranını kapatın ve eylem ekranında Son'u seçin.

    Hizmet kancası aboneliği için test sonuçlarının ekran görüntüsü

  8. Şimdi web kancası ayarlandı. JSON gösterimini görüntülemek için hedef hizmete gidin.

    JSON gösterimini görüntüleme işleminin ekran görüntüsü.

İpucu

Ayrıca, program aracılığıyla bir web kancası da oluşturabilirsiniz. Daha fazla bilgi için bkz . Program aracılığıyla hizmet kancası aboneliği oluşturma.

Gönderilecek kaynak ayrıntıları

Gönderilecek kaynak ayrıntıları, Gönderilecek iletiler ve Eylem bölmesinde ayarların gönderilmesi için ayrıntılı iletiler, gönderilecek JSON yükünün boyutunu denetler. Gönderilecek kaynak ayrıntıları, kaynağın ne kadarının gönder yapılacağını denetler. Varsayılan değer Tümü'dür, ancak yalnızca URL ve Kimlik veya Yok gibi anahtar alanlarını gönderen En Az değerini de göndermeyi seçebilirsiniz.

Yok ve En Az , çağıranın iletiye veya ayrıntılı iletiye bağlı olduğundan kaynak hakkında çok fazla bilgiye veya herhangi bir bilgiye ihtiyaç duymadığı senaryolarda yararlıdır. Hiçbiri ve En Az güvenlik nedenleriyle de yararlıdır. Çağıranın Azure DevOps Services'a geri dönmesi ve kaynak hakkında daha fazla ayrıntı almak için normal güvenlik ve izin denetimlerinden geçmesi gerekir.

Aşağıdaki örnek JSON kaynağı hakkında en az ayrıntıyı gösterir:

   {
       "eventType": "git.push",
       ...
       "messages": {
           "text": "...",
           "html": "...",
           "markdown": "..."
       },
       "detailedMessage": {
           "text": "...",
           "html": "...",
           "markdown": "..."
       },
       "resource": {
           "id": "...",
           "url": "https://...",
           "name": "...",
           "field1:": "..."
       }
   }