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.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Projenizde gerçekleşen olaylar hakkında Microsoft dışı sistemlere bildirim göndermek için hizmet kancalarını kullanın. Özel tüketici, uzantınızın bildiriminde tanımlanan uç noktaya bir HTTP iletisi gönderir.
Tavsiye
Yeni bir Azure DevOps uzantısı başlatıyorsanız, önce bu bakımlı örnek koleksiyonları deneyin; bunlar geçerli ürün derlemeleriyle çalışır ve modern senaryoları kapsar (örneğin, çekme isteği sayfalarına sekme ekleme).
- Azure DevOps uzantısı örneği (GitHub)— yaygın uzantı desenlerini gösteren küçük bir başlangıç örneği: https://github.com/microsoft/azure-devops-extension-sample
- Azure DevOps uzantı örnekleri (eski toplama ve katkı kılavuzu)— kullanıcı arabirimi hedeflerini incelemek veya kaynağı görüntülemek için yükleyin: https://marketplace.visualstudio.com/items/ms-samples.samples-contributions-guide ve https://github.com/Microsoft/vso-extension-samples/tree/master/contributions-guide
- Microsoft Learn örnekleri (Azure DevOps örneklerine göz atın)—Microsoft belgelerinde seçilmiş, güncel örnekler: /samples/browse/?terms=azure%20devops%20extension
Kuruluşunuzda bir örnek çalışmıyorsa, bunu kişisel bir kuruluşa veya test kuruluşuna yükleyin ve uzantı bildiriminin hedef kimliklerini ve API sürümlerini geçerli belgelerle karşılaştırın. Başvuru ve API'ler için bkz:
Bu makalede, aşağıdaki olayları ve eylemleri içeren örnek bir tüketici hizmeti uygulayan bir uzantı geliştirme adımları verilmiştir.
- Aşağıdaki eylemleri tetikleyen desteklenen olaylar:
- Kod gönderildi
- Pull isteği oluşturuldu
- Pull isteği güncellendi
- Olaylar gerçekleştiğinde yapılabilecek eylemler:
- HTTP iletisi gönderme
Uyarı
Bu makale, projenizin ana dizinine home olarak adlandırır.
Daha fazla bilgi için Bkz. GitHub deposu uzantısı örneği. Özel tüketici uzantınız için tetikleyici olarak kullanabileceğiniz tüm desteklenen olayların listesi için bkz. Olay türlerinin listesi.
Tavsiye
Azure DevOps Uzantı SDK'sını kullanarak uzantı geliştirmeyle ilgili en yeni belgelerimize göz atın.
Hizmet kancaları nasıl çalışır?
Hizmet kancası yayımcıları bir olay kümesi tanımlar. Aboneliklerolayları dinler ve bir olay tetiklendiğinde çalıştırılacak eylemleri tanımlar.
Bu diyagramda genel hizmet kancası akışı gösterilmektedir: yayımcılar olayları yayar, abonelikler olaylarla eşleştir ve bir eşleşme gerçekleştiğinde eylemler çalışır. Bu makaledeki örnekte, bir uzantı tüketiciyi uygular. Desteklenen bir olay gerçekleştiğinde, tüketicinin yapılandırılan eylemi uzantı bildiriminde belirttiğiniz uç noktaya bir HTTP iletisi gönderir.
Uzantıyı oluşturma
Uzantınızı sıfırdan nasıl oluşturacağınız hakkında bilgi alın.
Özel tüketici uygulamasına özel katkıyı temel bildirim dosyanıza ekleyin. Katkıyı ekledikten sonra bildiriminizin nasıl görüneceğine ilişkin aşağıdaki örneğe bakın.
{
"manifestVersion": 1,
"id": "samples-service-hooks-consumer",
"version": "0.1.2",
"name": "Service Hooks Sample",
"description": "A simple extension that demonstrates how to contribute a consumer service into service hooks.",
"publisher": "fabrikam",
"public": false,
"icons": {
"default": "images/logo.png"
},
"scopes": [],
"files": [
{
"path": "images",
"addressable": true
}
],
"content": {
"details": {
"path": "readme.md"
}
},
"categories": [
"Developer samples"
],
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
],
"contributions": [
{
"id": "consumer",
"type": "ms.vss-servicehooks.consumer",
"targets": [
"ms.vss-servicehooks.consumers"
],
"properties": {
"id": "consumer",
"name": "Sample Consumer",
"description": "Sample consumer service",
"informationUrl": "https://aka.ms/vsoextensions",
"inputDescriptors": [
{
"id": "url",
"isRequired": true,
"name": "URL",
"description": "URL to post event payload to",
"inputMode": "textbox"
}
],
"actions": [
{
"id": "performAction",
"name": "Perform action",
"description": "Posts a standard event payload",
"supportedEventTypes": [
"git.push",
"git.pullrequest.created",
"git.pullrequest.updated"
],
"publishEvent": {
"url": "{{{url}}}",
"resourceDetailsToSend": "all",
"messagesToSend": "all",
"detailedMessagesToSend": "all"
}
}
]
}
}
]
}
Uyarı
publisher özelliğini güncellemeyi unutmayın.
Uzantınızdaki her katkı için bildirim aşağıdaki öğeleri tanımlar.
- Katkı türü - bu örnekte tüketici hizmeti (ms.vss-servicehooks.consumer).
- Katkı hedefi - bu durumda tüketici hizmetleri (ms.vss-servicehooks.consumers).
- Her katkı türüne özgü özellikler.
Tüketiciler aşağıdaki özelliklere sahiptir.
| Mülkiyet | Açıklama |
|---|---|
| kimlik | Tüketici hizmetinizin benzersiz kimliği. |
| isim | Hizmet kancası aboneliği oluşturma sırasında görünür olan özel tüketicinin adı. |
| Açıklama | Tüketici hizmetinizi açıklar. |
| bilgiUrl | Uzantınız hakkında daha fazla bilgi edinin. |
| girdiTanımlayıcılar | Tüketici hizmetiyle abonelik oluşturan kullanıcılar tarafından kullanılacak girişler. |
| eylemler | Yapılması gereken eylemleri ve bu eylemleri tetikleyen olayları açıklar. |
Tüketicinizin eylemleri aşağıdaki özelliklere sahiptir:
| Mülkiyet | Açıklama |
|---|---|
| kimlik | Eylem hizmetinizin kimliği. |
| isim | Eylemin adı. |
| Açıklama | Eylemin ayrıntılı açıklaması. |
| DesteklenenOlayTürleri | Bu eylemin kullanılabileceği tetikleyici türleri dizisi. Daha fazla bilgi için bkz. Olay türlerinin listesi. |
| publishEvent.url | HTTP iletisini alan uç nokta URL'si. Bu değeri öğesinin inputDescriptorsbelirteçleriyle şablon oluşturabilirsiniz; kullanıcılar aboneliği oluştururken gerçek değerleri sağlar. |
- Uzantınızı Azure DevOps kuruluşunuza dağıtın ve test edin.