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
Hizmet uç noktaları, Azure DevOps'un dış sistemlere veya hizmetlere bağlanmanın bir yoludur. Azure DevOps tarafından güvenli bir şekilde depolanan ve aşağıdaki özellikleri içeren ancak bunlarla sınırlı olmayan bir özellik paketidir:
- Hizmet adı
- Açıklama
- Sunucu URL'si
- Sertifikalar veya belirteçler
- Kullanıcı adları ve parolalar
Uzantılar daha sonra hizmette gerekli işlemleri yapmak üzere depolanan ayrıntıları almak için hizmet uç noktasını kullanabilir. Yeni bir hizmet uç noktası katkısını oluşturmak ve uzantınızda kullanmak için bu kılavuzu izleyin.
Tavsiye
Azure DevOps Uzantı SDK'sını kullanarak uzantı geliştirmeyle ilgili en yeni belgelerimize göz atın.
Göreve genel bakış
Azure DevOps için aşağıdaki öğeleri içeren örnek bir uzantı oluşturarak bir hizmet uç noktası geliştirebilirsiniz:
- Bir derleme görevinin veya pano pencere öğesinin uç nokta tarafından tanımlanan hizmet/sunucuda REST uç noktasını çağırmasını sağlayan veri kaynaklarına sahip özel hizmet uç noktası.
- REST uç noktası veri kaynağından gelen değerlerle doldurulan hizmet uç noktası ve seçim listesi olmak üzere iki özelliği tanımlayan bir yapı görevi.
Uyarı
Hizmet uç noktaları oluşturduğunuzda, bu durum kuruluş düzeyinde değil proje düzeyinde olur.
Bu görevi tamamlamak için gereken adımlar şunlardır:
- 1. Uzantı bildirim dosyasını oluşturma
- 2. derleme görevi işlem hattını task.json dosyasında oluşturun
Uyarı
Bu öğretici, projenizin ana dizinini "home" olarak ifade eder.
Bildirim dosyasını oluşturun: vss-extension.json
Bildirim dosyası özel uç noktayı tanımlar ve derleme görevi için task.json bildirimine bağlantılar sağlar.
Bu makalede bildirim dosyası oluşturma işlemi aşağıdaki üç bölüme ayrılmıştır:
Temel bildirim dosyası oluşturma
Uzantınızın dizininde vss-extension.json bir json dosyası (homeörneğin) oluşturun.
{
"manifestVersion": 1,
"id": "service-endpoint-tutorial",
"version": "0.1.1",
"name": "Sample extension that leverages a service endpoint",
"description": "A sample Azure DevOps extension which shows how to create a custom endpoint and dynamic build task parameters taking value from a REST API.",
"publisher": "francistotten",
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
],
"files": [
{
"path": "BuildTaskFolder"
}
]
}
Uyarı
publisher özelliğini güncelleştirin.
BuildTaskFolder, sonunda derleme görev hattımızı yerleştireceğimiz yoldur.
Özel uç nokta katkısını ekleme
Aşağıdaki contributions diziyi temel bildirim içeriğinin dizisinin altına targets ekleyin.
Önemli
Hizmet bağlantısı parametreleri hizmet bağlantı kimliğine göre getirilmelidir.
"contributions": [
{
"id": "service-endpoint",
"description": "Service endpoint type for Fabrikam connections",
"type": "ms.vss-endpoint.service-endpoint-type",
"targets": [ "ms.vss-endpoint.endpoint-types" ],
"properties": {
"name": "fabrikam",
"displayName": "Fabrikam server connection",
"url": {
"displayName": "Server Url",
"helpText": "Url for the Fabrikam server to connect to."
},
"dataSources": [
{
"name": "Fabrikam Projects",
"endpointUrl": "{{endpoint.url}}api/projects/index",
"resultSelector": "jsonpath:$[*].nm"
}
],
"authenticationSchemes": [
{
"type": "ms.vss-endpoint.endpoint-auth-scheme-token"
},
{
"type": "ms.vss-endpoint.endpoint-auth-scheme-basic",
"inputDescriptors": [
{
"id": "username",
"name": "Username",
"description": "Username",
"inputMode": "textbox",
"validation": {
"isRequired": false,
"dataType": "string"
}
},
{
"id": "password",
"name": "Password",
"description": "Password",
"inputMode": "passwordbox",
"isConfidential": true,
"validation": {
"isRequired": false,
"dataType": "string"
}
}
]
}
],
"helpMarkDown": "<a href=\"url-to-documentation\" target=\"_blank\"><b>Learn More</b></a>"
}
},
],
Hizmet katkısını başarıyla eklediyseniz, kuruluşunuza yeni bir hizmet uç noktası eklemeyi denediğinizde Fabrikam uç noktasını görürsünüz.
Fabrikam uç noktasını kullanarak bir hizmet uç noktası oluşturun.
Tavsiye
authenticationSchemes olmadan inputDescriptors ekleyebilirsiniz. Daha fazla bilgi için bkz. InputDescriptor arabirimi.
Derleme görevi katkısını ekle
Önceki adımdaki contributions dizinin içine aşağıdaki nesneyi sonuna ekleyin.
{
"id": "build-task",
"description": "Task with a dynamic property getting data from an endpoint REST data source",
"type": "ms.vss-distributed-task.task",
"targets": [ "ms.vss-distributed-task.tasks" ],
"properties": {
"name": "BuildTaskFolder"
}
}
dataSource uç nokta URL'si, uç noktanın URL'sinden veya sabit bir URL'den ve diğer bazı değerlerden hesaplanır. Bu öğreticide, bu REST çağrısı hiçbir şey döndürmez ve hizmetinize yapmak istediğiniz REST çağrıları ile değiştirilmesi amaçlanmıştır.
REST URL'si için uç nokta URL'sinden başka parametreler( örneğin bazı uç nokta özellikleri) kullanmak mümkündür. Örneğin, uç noktada subscriptionId adlı bir özelliğimiz olduğunu varsayarsak REST URL bunu şu söz dizimiyle kullanabilir: $(endpoint.subscription).
Derleme görevini oluşturma
task.json dosyası, derleme görevinizi açıklar.
Uyarı
Daha fazla bilgi için aşağıdaki makalelere göz atın:
- Derleme görevi başvurusu, derleme görevi json dosyasının şemasını bulmak için
- Özel boru hattı görev uzantısı ekleyin
- İnşa etme görevini tümleştirme
Klasörünüzde task.json bir BuildTaskFolder dosyası oluşturun. Bu klasörü henüz oluşturmadıysanız, şimdi oluşturun.
{
"id": "6557a6d2-4caf-4247-99ea-5131286a8753",
"name": "build-task",
"friendlyName": "Build Task that uses the service endpoint",
"description": "Task with a dynamic property getting data from an endpoint REST data source",
"author": "francistotten",
"helpMarkDown": "Replace with Markdown to show in help",
"category": "Build",
"visibility": [
"Build",
"Release"
],
"demands": [],
"version": {
"Major": "0",
"Minor": "1",
"Patch": "1"
},
"minimumAgentVersion": "1.95.0",
"instanceNameFormat": "Service Endpoint Build Task $(project)",
"inputs": [
{
"name": "FabrikamService",
"type": "connectedService:Fabrikam",
"label": "Fabrikam service/server end point",
"defaultValue": "",
"required": true,
"helpMarkDown": "Select the Fabrikam end point to use. If needed, select 'manage', and add a new service endpoint of type 'Fabrikam server connection'"
},
{
"name": "project",
"type": "pickList",
"label": "Fabrikam Project",
"required": true,
"helpMarkDown": "Select the name of the Fabrikam Project to analyze.",
"properties": {
"EditableOptions": "True"
}
}
],
"dataSourceBindings": [
{
"target": "project",
"endpointId": "$(FabrikamService)",
"dataSourceName": "Fabrikam Projects"
}
],
"execution": {
"Node": {
"target": "sample.js",
"argumentFormat": ""
},
"PowerShell3": {
"target": "sample.ps1"
}
}
}
task.json bileşenleri
Giriş FabrikamService nesnesi
Bu alan connectedService türünün ilkidir:Fabrikam.connectedService bunun bir uç nokta türü olduğunu ve Fabrikam'ın nesnenin adı olduğunu ifade eder.
Giriş project nesnesi
Bu alan ikincidir. Bu bir seçim listesi.
- Bu alan bir REST çağrısıyla doldurulur.
- "proje" alanındaki değerler, özel uç noktanın "Projeler" REST veri kaynağından alınır.
- Dizi içinde
dataSourceBindingsifade edilir.- Hedef, doldurulacak derleme görev alanının adıdır ("proje").
- endpointId, özel uç nokta türünü içeren derleme görev alanının adıdır.
- REST çağrısı dataSourceName tarafından seçilir.
Derleme Görevini başarıyla eklediyseniz, artık derleme işlem hattına görev eklerken Derleme Görevi'ni görmeniz gerekir.
Build Görevini pipeline'ınıza ekledikten sonra, oluşturduğunuz Fabrikam uç noktasını görebildiğini doğrulayın. Gerçek bir hizmet kullanmadığımız için bu öğreticideki projeler açılan listesi boş. Fabrikam'ı hizmetinizle değiştirdikten sonra, derleme görevinizin içinde dinamik verileri kullanmak için Projeler çağrısını kendi REST API çağrınızla değiştirin.
Kimlik doğrulama
Bir hizmet uç noktasındaki kimlik doğrulama düzeni, dış hizmete bağlanmak için kullanılacak kimlik bilgilerini belirler. Daha fazla bilgi edinmek ve aşağıdaki kimlik doğrulama düzenlerini görmek için kimlik doğrulama düzenleri belgelerine bakın.
- Temel kimlik doğrulama
- Belirteç tabanlı kimlik doğrulaması
- Sertifika tabanlı kimlik doğrulaması
- Kimlik doğrulaması yok
Sonraki adımlar
İlgili içerik
- Uzantıları test et ve hata ayıkla
- Web uzantısı geliştirme
- İşlem hattı dekoratörü ekleme