Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Web kancaları, bir web hizmetinde bir şey olduğunda olay bildirimleri sağlayan basit HTTP geri çağırmalarıdır. Azure Logic Apps ve Power Automate web kancalarını tetikleyici olarak kullanabilirsiniz. Bir mantık uygulaması veya akış bu tetikleyiciyi dinler ve tetikleyici her çalıştığında bir eylem gerçekleştirir. Bu öğreticide, OpenAPI belirtimi ile tanımlanan özel bağlayıcı aracılığıyla bir web kancasının tetikleyici olarak nasıl kullanılacağı gösterilmektedir.
Not
Bu makalede, web kancaları aracılığıyla bildirim gönderebilen bir hizmet örneği olarak GitHub kullanılır, ancak burada gösterilen teknikleri web kancalarına izin veren herhangi bir hizmete genişletebilirsiniz.
Ön koşullar
- Aşağıdaki aboneliklerden birini:
- Azure, Logic Apps kullanıyorsanız
- Power Automate
- Mantıksal uygulamalar veya bulut akışları oluşturma ve OpenAPI tanımlarından özel bağlayıcılar oluşturma konusunda temel deneyim.
- Logic Apps kullanıyorsanız önce bir Azure Logic Apps özel bağlayıcısı oluşturun
- Webhook'lar hakkında temel bilgiler.
- OpenAPI Belirtimi (önceden Swagger olarak biliniyordu) hakkında temel bilgiler.
- Bir GitHub hesabı.
- Bu öğretici için örnek OpenAPI tanımı. Henüz sahip değilseniz, aşağıdaki adımlarda kullanmak üzere indirin. Aksi takdirde, web kancanız için özel bir OpenAPI tanımı oluşturmanız gerekir.
GitHub'de kimlik doğrulamayı etkinleştirin
Logic Apps'e veya Power Automate bir web kancası isteği gönderen bir web hizmeti API'si genellikle bir tür kimlik doğrulaması kullanır ve GitHub bir istisna değildir. GitHub çeşitli kimlik doğrulama türlerini destekler. Bu öğreticide GitHub ince ayarlı kişisel erişim belirteçleri kullanılır.
henüz yapmadıysanız GitHub gidin ve oturum açın.
Sağ üstteki profil resminizi seçin ve ardından menüde Ayarlar'ı seçin.
Soldaki menüde Geliştirici ayarları'nı seçin.
Kişisel erişim belirteçleri altında Ayrıntılı belirteçler seçin.
Yeni belirteç oluştur düğmesini seçin ve istenirse parolanızı onaylayın.
Belirteç için bir Belirteç adı ve Açıklama girin.
Süre Sonu'nın altında belirteç için bir son kullanma tarihi seçin.
Depo erişimi'nin altında Yalnızca depoları seçin'i seçin ve erişim vermek istediğiniz depoyu seçin.
İzinler altında, İzin ekle>Web kancaları> seçin.
Belirteç oluştur düğmesini seçin.
Yeni belirtecinizi not edin. Bu belirteci daha sonra web kancası bağlayıcınızı tetikleyici olarak eklerken kullanmanız gerekir.
Önemli
Bu belirtece artık erişemezsiniz. Öğreticinin ilerleyen bölümlerinde kullanmak üzere kopyalayıp bir yere yapıştırın.
OpenAPI tanımında web kancasını tanımlama
Web kancalarını Logic Apps ve Power Automate'te bir özel bağlayıcının parçası olarak uygularsınız. Bağlayıcıyı oluşturmak için web kancasının şeklini tanımlayan bir OpenAPI tanımı sağlamanız gerekir. Bu öğreticide, GitHub web kancaları için indirilen örnek openAPI tanımı kullanılmaktadır.
Tetikleyici oluşturmak istiyorsanız ancak çalışabileceğiniz bir OpenAPI tanımı yoksa, web kancası tetikleyicilerini tanımlamak için özel bağlayıcı sihirbazındaki tetikleyiciler kullanıcı arabirimini kullanın.
Örnek OpenAPI tanımı, web kancasının çalışması için kritik öneme sahip üç bölüm içerir:
- Web kancasını oluşturma
- Web hizmeti API'sinden gelen webhook isteğinin tanımlanması (bu eğitim örneğinde GitHub)
- Webhook'u silme
Bağlayıcı, GitHub deposu için web kancalarının nasıl oluşturulacağını, alınacağını ve silineceği hakkında bilgi edinmek için bu OpenAPI tanımını kullanır.
Webhook oluşturun
Bağlayıcı, web hizmeti için uygun web kancası oluşturma uç noktasına bir HTTP POST isteği göndererek web hizmeti tarafında web kancası oluşturmak için web hizmeti API'sini (örneğimizde, GitHub REST API'sini) kullanır (/repos/{owner}/{repo}/hooksGitHub söz konusu olduğunda).
Bağlayıcıyı kullanarak yeni bir mantıksal uygulama veya akış oluşturduğunuzda bağlayıcı, bağlayıcının OpenAPI tanımında tanımlandığı gibi web hizmetinin web kancası oluşturma uç noktasına bir POST isteği gönderir. Mantıksal uygulamayı veya akış tetikleyicisini değiştirirseniz bu URL'ye bir POST isteği de gönderir. Aşağıdaki örnek OpenAPI yol yapılandırmasında post özelliği, GitHub REST API'sine gönderilecek web kancası oluşturma isteğinin şemasını içerir.
"/repos/{owner}/{repo}/hooks": {
"x-ms-notification-content": {
"description": "Details for Webhook",
"schema": {
"$ref": "#/definitions/WebhookPushResponse"
}
},
"post": {
"description": "Creates a GitHub webhook",
"summary": "Triggers when a PUSH event occurs",
"operationId": "webhook-trigger",
"x-ms-trigger": "single",
"parameters": [
{
"name": "owner",
"in": "path",
"description": "Name of the owner of targeted repository",
"required": true,
"type": "string"
},
{
"name": "repo",
"in": "path",
"description": "Name of the repository",
"required": true,
"type": "string"
},
{
"name": "Request body of webhook",
"in": "body",
"description": "This is the request body of the Webhook",
"schema": {
"$ref": "#/definitions/WebhookRequestBody"
}
}
],
"responses": {
"201": {
"description": "Created",
"schema": {
"$ref": "#/definitions/WebhookCreationResponse"
}
}
}
}
},
Önemli
"x-ms-trigger": "single" özelliği, Logic Apps'e ve Power Automate bu web kancasını tasarımcıdaki kullanılabilir tetikleyiciler listesinde görüntülemesini söyleyen bir şema uzantısıdır. Onu eklediğinizden emin olun.
API’den gelen hook isteğini tanımlayın
Önceki örnekte gösterildiği gibi, özel x-ms-notification-content özelliğinde gelen hook isteğinin yapısını (GitHub’dan Logic Apps’e veya Power Automate’e gönderilen bildirim) tanımlayın. İsteğin tüm içeriğini içermesi gerekmez, yalnızca mantıksal uygulamanızda veya akışınızda kullanmak istediğiniz bölümleri içerir.
Webhook’u sil
OpenAPI tanımına web kancasının nasıl silineceğiyle ilgili bir tanım ekleyin. Tetikleyiciyi güncelleştirirseniz ya da mantık uygulamasını veya akışı silerseniz, Logic Apps ve Power Automate mevcut webhook’u silmeye çalışır.
"/repos/{owner}/{repo}/hooks/{hook_Id}": {
"delete": {
"description": "Deletes a Github webhook",
"operationId": "DeleteTrigger",
"parameters": [
{
"name": "owner",
"in": "path",
"description": "Name of the owner of targeted repository",
"required": true,
"type": "string"
},
{
"name": "repo",
"in": "path",
"description": "Name of the repository",
"required": true,
"type": "string"
},
{
"name": "hook_Id",
"in": "path",
"description": "ID of the webhook being deleted",
"required": true,
"type": "string"
}
]
}
},
Web kancasını silme çağrısı için üst bilgi eklenmedi. Web kancasını sil çağrısı, bağlayıcıyla aynı bağlantıyı kullanır.
Önemli
Logic Apps'in veya Power Automate bir web kancasını silmesini etkinleştirmek için web hizmetinin API'sinin, web kancası oluşturulduğunda 201 yanıtına bir Location HTTP üst bilgisi içermesi gerekir.
Location başlığı, HTTP DELETE yöntemiyle kullanılan web kancasının yolunu içermelidir. Örneğin, Location GitHub yanıtında yer alan üst bilgi şu biçimdedir: https://api.github.com/repos/<user name>/<repo name>/hooks/<hook ID>.
OpenAPI tanımını içeri aktarma
İlk olarak Logic Apps’e ya da Power Automate'e yönelik OpenAPI tanımını içeri aktarın.
Logic Apps için OpenAPI tanımını içeri aktarma
Azure portalına gidin ve daha önce Azure Logic Apps özel bağlayıcısı oluşturma bölümünde oluşturduğunuz Logic Apps bağlayıcısını açın.
Bağlayıcı menüsünde, Logic Apps Bağlayıcısı öğesini seçin ve ardından Düzenle'yi seçin.
Genel'in altında OpenAPI dosyasını karşıya yükle'yi seçin ve ardından indirdiğiniz örnek OpenAPI dosyasına gidin.
Power Automate için OpenAPI tanımını içeri aktarma
Şuraya git: https://make.powerautomate.com/ .
Sağ üst köşede dişli simgesini ve ardından Özel bağlayıcılar'ı seçin.
Özel bağlayıcı oluştur'u ve ardından Postman koleksiyonunu içeri aktar'ı seçin.
Özel bağlayıcı için bir ad girin, indirdiğiniz örnek OpenAPI dosyasına gidin ve Bağlan'ı seçin.
Parametre Değer Özel bağlayıcı başlığı "GitHubDemo"
Özel bağlayıcıyı oluşturmayı tamamlayın
Genel sayfasında Devam'ı seçin.
Güvenlik sayfasında, kimlik doğrulama türü altında, temel kimlik doğrulaması seçeneğini belirleyin.
Temel kimlik doğrulaması bölümünde, etiket alanları için Kullanıcı adı ve Parola metnini girin. Bu etiketler, tetikleyiciyi bir mantıksal uygulamada veya akışta kullandığınızda görünür.
Sihirbazın üst kısmında adın "GitHubDemo" olarak ayarlandığından emin olun ve ardından Bağlayıcı oluştur'u seçin.
Şimdi tetikleyiciyi bir mantık uygulamasında veya akışta kullanıma hazır durumdasınız veya kullanıcı arabiriminden Tetikleyici oluşturma hakkında ' yı okuyabilirsiniz.
Kullanıcı arabiriminden web kancası tetikleyicileri oluşturma
Bu bölümde, OpenAPI tanımınızda tetikleyici tanımları olmadan kullanıcı arabiriminde tetikleyici oluşturmayı öğreneceksiniz. Temel bir OpenAPI tanımıyla başlayın veya özel bağlayıcı sihirbazında sıfırdan başlayın.
Genel sayfasında, bir açıklama ve URL belirttiğinizden emin olun.
Parametre Değer Açıklama "GitHub bir sosyal kaynak kod deposudur." URL "api.github.com" Güvenlik sayfasında, temel kimlik doğrulamasını önceki bölümde olduğu gibi yapılandırın.
Tanım sayfasında Yeni tetikleyici'yi seçin ve tetikleyicinizin açıklamasını doldurun. Bu örnekte, bir depoya çekme isteği gönderildiğinde tetiklenen bir tetikleyici oluşturuyorsunuz.
Parametre Değer Özet Seçili depoda bir pull request oluşturulduğunda tetiklenir Açıklama Seçili depoda bir çekme talebi oluşturulduğunda tetiklenir İşlem Kimliği "webhook-PR-trigger" Görünürlük "hiç" (Daha fazla bilgi için aşağıya bakın) Tetikleyici türü Webhook Bir mantık uygulamasındaki veya akıştaki işlemler ve parametreler için görünürlük özelliği aşağıdaki seçeneklere sahiptir:
- hiçbiri - Normalde mantıksal uygulamada veya akışta görüntülenir
- gelişmiş - Ek bir menünün altına gizlenir
- dahili - kullanıcıdan gizlenir
- önemli - Her zaman kullanıcıya ilk olarak gösterilir
İstek alanı, eyleme yönelik HTTP isteğine göre bilgileri görüntüler. Örnekten aktar'ı seçin.
Webhook tetikleyicisi için isteği tanımlayın ve ardından İçeri Aktar seçeneğini belirleyin. İçeri aktarmanız için bir örnek sağlıyoruz (aşağıdaki bölümde). Daha fazla bilgi için bkz. GitHub API referansı. Logic Apps ve Power Automate otomatik olarak standart
content-typeve güvenlik üst bilgileri ekler, bu nedenle bir örnekten içeri aktarırken bunları tanımlamanız gerekmez.
Parametre Değer Fiil "GÖNDERİ" URL "https://api.github.com/repos/{owner}/{repo}/hooks" Gövde Aşağıya bakın { "name": "web", "active": true, "events": [ "pull_request" ], "config": { "url": "http://example.com/webhook" } }Yanıt alanı, eyleme yönelik HTTP yanıtına göre bilgileri görüntüler. Varsayılan yanıt ekle’yi seçin.
Web kancası tetikleyicisi için yanıtı tanımlayın ve ardından İçe Aktar'ı seçin. Yine, içe aktarmanız için size bir örnek sunuyoruz. Daha fazla bilgi için bkz. GitHub API referansı.
{ "action": "opened", "number": 1, "pull_request": { "html_url": "https://github.com/baxterthehacker/public-repo/pull/1", "state": "open", "locked": false, "title": "Update the README with new information", "user": { "login": "baxterthehacker", "type": "User" } } }Tetikleyici yapılandırması alanında, GitHub 'dan geri çağırma URL 'si değerini alması gereken parametreyi seçin. Bu parametre,
confignesnesindekiurlözelliğidir.
Sihirbazın en üstüne bir ad girin ve bağlayıcı oluştur'u seçin.
Web kancasını tetikleyici olarak kullanma
Her şeyi yapılandırdıktan sonra, web kancasını bir mantıksal uygulama veya akıştaki özel bağlayıcı aracılığıyla kullanın. Ardından, GitHub deponuz git gönderimi aldığında e-posta gönderen bir akış oluşturun.
sayfasında https://make.powerautomate.com/, sayfanın üst kısmındaki Akışlarım'ı seçin.
Boştan oluştur seçeneğini belirleyin.
Power Automate’in tasarımcısında daha önce kaydettiğiniz özel bağlayıcıyı arayın.
Tetikleyici olarak kullanmak için listedeki öğeyi seçin.
Bu özel bağlayıcıyı ilk kez kullandığınız için, özel bağlayıcıya bağlanın. Bağlantı bilgilerini girin ve Oluştur'u seçin.
Parametre Değer Bağlantı adı Açıklayıcı bir ad Kullanıcı adı GitHub Kullanıcı adınız Parola Önceden oluşturduğunuz kişisel erişim belirtecini kullanın İzlemek istediğiniz depoyla ilgili ayrıntıları girin. Alanları OpenAPI dosyasındaki WebhookRequestBody nesnesinden tanıyabilirsiniz.
Parametre Değer sahibi İzlenecek deponun sahibi repo Monitöre depo Önemli
Hesabınızın erişebildiği bir depo kullanın. Bunu yapmanın en kolay yolu kendi reponuzu kullanmaktır.
Yeni adım>Eylem ekle seçeneğini belirleyin.
E-posta gönder (V2) eylemini arayın ve seçin.
Dinamik içerik iletişim kutusundaki değerleri kullanarak Gövde alanına ve diğer alanlara metin girin. Değerler, OpenAPI dosyasındaki WebhookPushResponse nesnesinden gelir.
Sayfanın üst kısmında, akışa bir ad verin ve Akış oluştur’a tıklayın.
Doğrulama ve sorun giderme
Her şeyin doğru şekilde ayarlandığını doğrulamak için Akışlarım'ı seçin ve ardından yeni akışın yanındaki bilgi simgesini seçerek çalıştırma geçmişini görüntüleyin:
- Web kancası oluşturma işleminden en az bir Başarılı çalışma görmüş olmalısınız. Bu çalıştırma, web kancasının GitHub tarafında başarıyla oluşturulduğunu gösterir.
- Çalıştırma başarısız olduysa, neden başarısız olduğunu görmek için çalıştırma ayrıntılarını gözden geçirin. Hata bir
404 Not Foundyanıt nedeniyle oluştuysa, GitHub hesabınızın büyük olasılıkla kullandığınız depoda web kancası oluşturmak için doğru izinleri yoktur.
Özet
Her şeyi doğru yapılandırdıysanız, seçtiğiniz GitHub deposunda git gönderimi her gerçekleştiğinde Power Automate mobil uygulamasında anında iletme bildirimleri alırsınız. Önceki işlemi kullanarak, akışlarınızda tetikleyici olarak web kancası özellikli herhangi bir hizmeti kullanabilirsiniz.
Sonraki adımlar
- Web API'si için bir özel bağlayıcı oluşturma
- API'nizi ve bağlayıcınızı Microsoft Entra ID ile doğrulayın
Geri bildirimde bulunun
Bağlayıcı platformumuzla veya yeni özellik fikirlerimizle ilgili sorunlar hakkındaki geri bildirimleriniz bizim için çok önemlidir. Geri bildirimde bulunmak için Sorun gönderme veya bağlayıcılarla ilgili yardım alma bölümüne gidip geri bildirim türünü seçin.