Aracılığıyla paylaş


Uzantı bildirim dosyası referansı

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

Her uzantının, uzantıyla ilgili temel bilgileri tanımlayan bir JSON bildirim dosyası vardır. Dosya ayrıca deneyimi nasıl genişletip geliştirebileceğini de tanımlar. Bu makalede, Azure DevOps uzantınız için nasıl bildirim oluşturulacağı gösterilmektedir.

İpucu

Azure DevOps Uzantı SDK'sını kullanarak uzantı geliştirmeyle ilgili en yeni belgelerimize göz atın.

Uzantı klasörünüzün kökünde adlı vss-extension.json bir dosya oluşturun. Bu dosya, uzantının kimliği ve çalıştırabileceği yükleme hedefleri gibi gerekli öznitelikleri içerir. Ayrıca uzantınız tarafından yapılan katkıları da tanımlar.

Tipik bir bildirimin aşağıdaki örneğine bakın:

{
    "manifestVersion": 1,
    "id": "tools",
    "version": "0.1.0",
    "name": "Fabrikam Tools",
    "publisher": "fabrikam",
    "description": "Awesome tools to help you and your team do great things everyday.",
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services"
        }
    ],
    "icons": {
        "default": "images/fabrikam-logo.png"
    },
    "scopes": [
        "vso.work",
        "vso.code_write",
        "vso.build_execute"
    ],
    "categories": [
        "Azure Boards"
    ],
    "branding": {
        "color": "rgb(34, 34, 34)",
        "theme": "dark"
    },
    "content": {
        "details": {
            "path": "readme.md"
        },
        "license": {
            "path": "eula.md"
        }
    },
    "links": {
        "getstarted": {
            "uri": "https://www.fabrikam-fiber-inc.com/help/getstarted"
        },
        "support": {
            "uri": "https://www.fabrikam-fiber-inc.com/support"
        }
    },
    "repository": {
        "type": "git",
        "uri": "https://github.com/fabrikam-fiber-inc/myextension"
    },
    "contributions": [
        {
            "id": "showCommits",
            "type": "ms.vss-web.action",
            "description": "Adds a menu action from builds grid to show associated items.",
            "targets": [
                "ms.vss-build-web.completed-build-menu"
            ],
            "properties": {
                "title": "View associated items",
                "uri": "launch.html"
            }
        }
    ],
    "files": [
        {
            "path": "launch.html",
            "addressable": true
        },        
        {
            "path": "node_modules/vss-web-extension-sdk/lib",
            "addressable": true,
            "packagePath": "lib"
        }
    ]
}

Girişler hakkında bilgi için bkz . ...

Gerekli öznitelikler

Aşağıdaki özellikler gereklidir:

Mülk Açıklama Notlar
manifestVersion Bildirim biçiminin sürümüne karşılık gelen bir sayı. 1 olmalıdır.
Kimlik Uzantının tanımlayıcısı. Th Id, aynı yayımcının uzantıları arasında benzersiz olması gereken bir dizedir. Alfabetik veya sayısal bir karakterle başlamalıdır ve 'A' - 'Z', 'a' - 'z', '0' - '9' ve '-' (kısa çizgi) içermelidir. Örnek: sample-extension.
versiyon Uzantının sürümünü belirten bir dize. biçiminde olmalıdır major.minor.patch, örneğin 0.1.2 veya 1.0.0. Aşağıdaki biçim için dördüncü bir sayı da ekleyebilirsiniz: 0.1.2.3
ad Uzantının kısa, insan tarafından okunabilen adı. 200 karakterle sınırlıdır. Örnek: "Fabrikam Agile Board Extension".
yayınevi Yayımcının tanımlayıcısı. Bu tanımlayıcı, uzantının yayımlandığı tanımlayıcıyla eşleşmelidir. Bkz. Yayımcı oluşturma ve yönetme.
Kategori Uzantınızın ait olduğu kategorileri temsil eden dize dizisi. En az bir kategori sağlanmalıdır ve içerebilecek kategori sınırı yoktur. Geçerli değerler: Azure Repos, Azure Boards, Azure Pipelines, Azure Test Plansve Azure Artifacts.

Notlar:
    - Uzantıyı program aracılığıyla yayımlıyorsanız tfx-cli'nin =0.6.3 sürümünü >kullanın.
    - Yayımlamak için Azure DevOps Uzantı Görevleri uzantısını kullanıyorsanız sürümünün = 1.2.8 olduğundan >emin olun. Son kapsam değişiklikleri nedeniyle uzantı güncelleştirmesini onaylamanız gerekebilir.
    - Daha önce bahsedilen kategoriler yukarıdaki & Visual Studio Market'te ve Azure DevOps Server 2019'da yerel olarak bulunur.
Hedef Entegrasyonunuz veya uzantınız tarafından desteklenen ürünler ve hizmetler. Daha fazla bilgi için bkz . yükleme hedefleri. Her nesnenin aşağıdakilerden birini belirten bir alanı olan bir id nesne dizisi:
    - Microsoft.VisualStudio.Services (Azure DevOps ile çalışan uzantılar),
    - Microsoft.TeamFoundation.Server (Azure DevOps Server ile çalışan uzantı),
    - Microsoft.VisualStudio.Services.Integration,
    - Microsoft.TeamFoundation.Server.Integration (Azure DevOps Server ile çalışan tümleştirmeler)

Gerekli öznitelik örnekleri

{
    "manifestVersion": 1,
    "id": "tools",
    "version": "0.1.0",
    "name": "Fabrikam Tools",
    "publisher": "fabrikam",
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services"
        }
    ]
}

İsteğe bağlı öznitelikler

Çalışma zamanı öznitelikleri

Mülk Açıklama Notlar
Kapsamlar Uzantınız için gerekli izinleri listeleyen yetkilendirme kapsamları (dizeler) dizisi. Örneğin, vso.work ve vs.code_write, uzantınızın iş öğelerine salt okunur erişime ve kaynak kod ile ilgili kaynaklara okuma/yazma erişimine ihtiyacı olduğunu gösterir. Uzantınız yüklenirken kullanıcıya kapsamlar sunulur. Daha fazla bilgi için kapsamların tam listesine bakın.
Talepler Uzantınızın gerektirdiği özellikleri listeleyen bir dizi talep (dize). Örneğin, api-version/3.0 uzantınızın sürüm 3.0 API'lerini kullandığını ve bu nedenle bu sürümü desteklemeyen eski ürünlerde çalışamazsınız. Daha fazla bilgi için taleplerin tam listesine bakın.
baseUri (İsteğe bağlı) uzantının katkıları tarafından belirtilen tüm göreli URL'ler için temel URL. Örneğin: https://myapp.com/{{account.name}}/. Uzantınızın içeriği uzantınızla birlikte paketlenmişse bu özellik boş bırakılmalıdır.
Katkı Sisteme bir dizi katkılar.
katkıTürleri Uzantı tarafından tanımlanan katkı türleri dizisi
{
    "scopes": [
        "vso.work",
        "vso.code_write",
        "vso.build_execute"
    ],
    "demands": [
        "api-version/3.0"
    ],
    "contributions": [
        {
            "id": "showCommits",
            "type": "ms.vss-web.action",
            "description": "Adds a menu action from builds grid to show associated items.",
            "targets": [
                "ms.vss-build-web.completed-build-menu"
            ],
            "properties": {
                "title": "View associated items",
                "uri": "launch.html"
            }
        }
    ]
}

Bulma öznitelikleri

Aşağıdaki isteğe bağlı özellikler kullanıcıların uzantınızı bulmasına ve hakkında bilgi edinebilmesine yardımcı olur:

Mülk Açıklama Notlar
Açıklama Uzantıları açıklayan birkaç cümle. 200 karakterle sınırlıdır. Açıklama, Market'te uzantınızı tanıtacak ve insanların yüklemek istemesini sağlayacak birkaç satırlık "kısa ve öz tanıtım" şeklinde olmalıdır. Aşağıdaki örniğe bakın
Simge Uzantıyı temsil eden simgelerin sözlüğü. Geçerli anahtarlar: default (128x128 piksel boyutunda BMP, GIF, EXIF, JPG, PNG ve TIFF türleri). Gelecekte (512x512 piksel) gibi large diğer tuşlar desteklenebilir. Her anahtarın değeri, uzantıdaki simge dosyasının yoludur
etiketler Kullanıcıların uzantınızı bulmasına yardımcı olmak için dize etiketleri dizisi. Örnekler: agile, project management, task timerve benzeri.
ekran görüntüleri İçeriğinize eklenemeyen resimlerin dizisi. Ekran görüntüleri içeriğinizde yer alırken daha değerlidir ve uzantınız için kaliteli bir mağaza detay sayfası oluşturmak amacıyla kullanılmalıdır. İçeriğinizde bulunmayan daha az önemli görüntüler için ekran görüntülerini kullanın. Her resim 1366x768 piksel olmalıdır. path Her öğenin yolu, eklentideki dosyaya giden yoldur.
içerik Kullanıcılara uzantınızı açıklayan içerik dosyalarının sözlüğü. Her uzantı sağlam içerik içermelidir. Kullanıcılara uzantınızın neler yapabileceğini bu şekilde göstereceksiniz. Zengin, kullanılabilir hale getirin ve gerektiğinde ekran görüntüleri ekleyin. Temel içerik parçanız olarak bir overview.md dosya ekleyin. Her dosyanın GitHub Flavored Markdown biçiminde olduğu varsayılır. path Her öğenin yolu, eklentideki Markdown dosyasının yoludur. Geçerli anahtarlar: details. Gelecekte diğer anahtarlar desteklenebilir.
Bağlantı Kullanıcıların uzantınız hakkında daha fazla bilgi edinebilmesine, destek almasına ve taşınmasına yardımcı olan bağlantılar sözlüğü. Geçerli anahtarlar: getstarted - ilk adımlar, kurulum veya kullanım. learn - Kullanıcıların uzantınızı veya hizmetinizi daha iyi anlamasına yardımcı olmak için daha ayrıntılı içerik. license - son kullanıcı lisans sözleşmesi. privacypolicy - Bir uzantı için gizlilik ilkesi. support - bir uzantı için yardım ve destek alın. Her anahtarın değeri, uri alanına sahip olan ve bu alanın bağlantının mutlak URL'si olduğu bir nesnedir.
Depo Uzantının kaynak kod deposunu açıklayan özellikler sözlüğü Geçerli Anahtarlar: type - Depo türü. Örnek: git. uri - Deponun mutlak URL'si.
Rozetler Onaylı rozet sitelerinden TravisCI, Appveyor vb. dış meta veri rozetlerine bağlantı dizisi Geçerli anahtarlar: href - Rozeti seçerken kullanıcının gittiği bağlantı. uri - Görüntülenecek rozet görüntüsünün mutlak URL'si. description - Vurgulamada görüntülenecek rozetin açıklaması.
Marka Markayla ilgili özelliklerin sözlüğü. Geçerli anahtarlar: color - uzantının veya yayımcının birincil rengi; onaltılık (#ff00ff), RGB (rgb(100,200,50)) veya desteklenen HTML renk adları (mavi) olabilir. theme- rengi tamamlar; koyu marka renkleri için koyu veya daha açık marka renkleri için açık kullanın.

Uzantıyı halka açık olarak işaretle

Varsayılan olarak, Azure DevOps Market'teki tüm uzantılar özeldir. Bunlar genel görünümden gizlenir ve yalnızca yayımcı ve yayımcı tarafından paylaşılan belirli hesaplar tarafından görülebilir. Yayımcınız doğrulandıysa, uzantı bildiriminizde bayrağını ayarlayarak Public uzantınızı herkese açık hale getirebilirsiniz:

{
    "galleryFlags": [
        "Public"
    ]
}            

Veya:

{
    "public": true
}            

Daha fazla bilgi için bkz . Paketle/Yayımla/Yükle.

Uzantıyı önizlemede olacak şekilde işaretleme

Uzantınız Marketplace'te kullanıcıların denemesine hazırsa ancak hala birkaç hatayı çözmeye çalışıyor veya işlev ekliyorsanız, onu preview olarak işaretleyebilirsiniz.

{
    "galleryFlags": [
        "Preview"
    ]
}            

Uzantıyı ücretli önizleme olarak işaretleme

Uzantınızı Market'te satmak istiyorsanız, uzantıyı ücretli önizleme olarak işaretleyin. Ücretsiz olarak işaretlenmiş bir uzantı ücretli olarak değiştirilemez.

{
    "galleryFlags": [
        "Paid",
        "Preview"
    ]
}            

Uzantıyı ücretli olarak işaretleme

Uzantınızı Market'te satmak istiyorsanız, iki alt çizgiyle başlayan Paid bayrağı ve __BYOLENFORCED etiketiyle işaretleyebilirsiniz.

{
    "galleryFlags": [
        "Paid"        
    ],
     "tags": [        
        "__BYOLENFORCED"
    ]
}            

Bir uzantıyı Market'te ücretli olarak işaretlemek için hem bayrağın Paid hem de etiketin __BYOLENFORCED bulunması gerekir. Kendi Lisansını Getir (KLG), Azure DevOps uzantıları için Microsoft tarafından sağlanmayan faturalama ve lisans mekanizmasını uzantının yayımcısının sağladığı anlamına gelir. Gizlilik ilkesini, destek ilkesini ve son kullanıcı lisans sözleşmesini tanımlamak için tüm ücretli uzantılar gereklidir. Yayımcıların Market'teki fiyatlandırma sekmesi için aşağıdaki gibi içerik sağlaması gerekir:

{
    "content": {
        "details": {
            "path": "overview.md"
        }, 
        "pricing": {
            "path": "pricing.md"
        }
    }
}          

Ayrıca ücretli lisanslamayı geçersiz kılmak için uzantı bildiriminize yeni bir bölüm eklemeniz gerekir. Gelecekte, ücretli lisans denetimini kaldıracağız ve artık geçersiz kılma gerektirmeyeceğiz. Şimdilik uzantınızın beklendiği gibi görüntüleniyor olduğundan emin olun. Her geçersiz kılma işlemi bir "ID" ve bir "davranış" içerir. "ID'nin" manifestte tanımlanan katkıların kimliğiyle eşleşmesini sağlayın.

"licensing": {

      "overrides": [

        { "id": "my-hub", "behavior": " AlwaysInclude" }
      ]
    }

Ücretli KLG uzantınız bir deneme süresi sunuyorsa (bunu öneririz), deneme süresinin uzunluğunu gün cinsinden belirtebilirsiniz:

{
    "galleryproperties": {
        "trialDays": "30"
    } 
}          

Not

Azure DevOps'yi hedeflemek istiyorsanız ancak uzantınız için bir İndirme seçeneğini ortaya koymak istemiyorsanız, __DoNotDownload uzantı bildirimine etiketi ekleyin (iki alt çizgiyle başlar). Daha önce Microsoft tarafından sunulan faturalama ve lisanslama modelinden BYOL modeline bir uzantı taşıyorsanız, uygun adımlar için bizimle iletişime geçin.

Daha fazla özellik örneği

{
    "description": "Awesome tools to help you and your team do great things everyday.",
    "icons": {
        "default": "images/fabrikam-logo.png"
    },
    "categories": [
        "Plan and track"
    ],
    "tags": [
        "working",
        "people person",
        "search"
    ],
    "content": {
        "details": {
            "path": "overview.md"
        },
        "license": {
            "path": "license-terms.md"
        }
    },
    "links": {
        "home": {
            "uri": "https://www.fabrikam-fiber-inc.com"
        },
        "getstarted": {
            "uri": "https://www.fabrikam-fiber-inc.com/help/getstarted"
        },
        "learn": {
            "uri": "https://www.fabrikam-fiber-inc.com/features"
        },
        "support": {
            "uri": "https://www.fabrikam-fiber-inc.com/support"
        },
        "repository": {
            "uri": "https://github.com/fabrikam-fiber-inc/tools"
        },
        "issues": {
            "uri": "https://github.com/fabrikam-fiber-inc/tools/issues"
        }
    },
    "repository": {
        "type": "git",
        "uri": "https://github.com/fabrikam-fiber-inc/tools"
    },
    "badges": [
        {
            "href": "https://travis.ci/fabrikam-fiber-inc/myextension",
            "uri": "https://travis.ci/fabrikam-fiber-inc/myextension.svg?branch=master",
            "description": "TravisCI build for the project"
        },
        {
            "href": "https://ci.appveyor.com/projects/fabrikam-fiber-inc/myextension",
            "uri": "https://ci.appveyor.com/api/projects/status/vlg2sgs2y7tsdxpj4c?svg=true",
            "description": "AppVeyor build for the project"
        }
    ],
    "branding": {
        "color": "rgb(34, 34, 34)",
        "theme": "dark"
    },
    "screenshots": [
        {
            "path": "screenshots/screen1.png"
        },
        {
            "path": "screenshots/screen2.png"
        }
    ]
}

Ayrıntılar sayfası örneği

  • 1 - açıklama
  • 2 - simge
  • 3 - kategoriler
  • 4 - ekran görüntüleri
  • 5 - içerik (ayrıntılar)
  • 6 - bağlantılar
  • 7 - markalama

kart

Pazar Yeri Soru-Cevap - CustomerQnASupport özelliği

Visual Studio Market'te bulunan tüm uzantıların, uzantı kullanıcıları ve yayımcılar arasında bire bir genel konuşmalara izin veren bir Sorular ve Yanıtlar (Soru-Cevap) bölümü vardır. Yayımcılar Marketplace Soru-Cevap, GitHub konuları veya özel Soru-Cevap URL'si arasında seçim yapabilir. Bildirimdeki CustomerQnASupport özelliğini kullanarak Market'te Soru-Cevap'ı devre dışı bırakabilirsiniz.

Varsayılan deneyim (Bildirimde değişiklik yapılması gerekmez)

  • GitHub deposuna sahip uzantılar için Market, Soru-Cevap bölümündeki kullanıcıları ilişkili GitHub sorunlarına yönlendirir.
  • GitHub deposu olmayan uzantılar için Market Soru-Cevap etkindir.

Varsayılan seçeneklerden birinden farklı bir deneyim için bildirimdeki özelliğini kullanın CustomerQnASupport .

{
    "CustomerQnASupport": {
        "enablemarketplaceqna": true,
        "url": "http://uservoice.visualstudio.com"
    } 
}

Özellikler

Müşteri Soru-Cevap Desteği bölümünün özellikleri:

  • enablemarketplaceqna - boolean alanı, market için true veya özel Soru-Cevap olarak ayarlanmış; Soru-Cevap'ı devre dışı bırakmak için false
  • url - dize, özel Soru-Cevap için URL

Soru-Cevap desteği kullanımını gösteren örnekler

Örnek: Özel Q & A kullanan uzantı

{
     "CustomerQnASupport": {
        "enablemarketplaceqna":"true",
        "url": "http://uservoice.visualstudio.com"
    } 
}

Örnek: GitHub deposu ile uzantı, ancak GitHub sorunları yerine Market Q & A kullanma

{
     "CustomerQnASupport": {
        "enablemarketplaceqna":"true"
    } 
}

Örnek: Uzantının Q & A bölümünü devre dışı bırakması

{
     "CustomerQnASupport": {
        "enablemarketplaceqna":"false"
    } 
}

Kapsamlar

Uzantınızda bir veya daha fazla kapsam tanımlayabilirsiniz. Bu kapsamlar, uzantınızın erişebileceği kaynakları ve bu kaynaklar üzerinde gerçekleştirmesine izin verilen işlemleri belirler. Uzantı bildiriminizde belirttiğiniz kapsamlar, uzantınıza verilen erişim belirteçlerinde ayarlanan kapsamlardır. Daha fazla bilgi için bkz . Kimlik doğrulaması ve güvenlik.

Hiçbir kapsam belirtilmezse, uzantılara yalnızca kullanıcı profili ve uzantı verilerine erişim sağlanır.

Desteklenen kapsamlar

Kategori Kapsam İsim Yüksek ayrıcalık Açıklama Devralınan
Gelişmiş Güvenlik vso.advsec Gelişmiş Güvenlik (okuma) Evet Uyarıları, sonuç örneklerini, analiz sonucu örneklerini okuma olanağı verir.
vso.advsec_write AdvancedSecurity (okuma ve yazma) Evet Sarif'e analiz yükleme olanağı sağlar. vso.advsec
vso.advsec_manage GelişmişGüvenlik (okuma, yazma ve yönetme) Evet Sarif'e analiz yükleme olanağı sağlar. vso.advsec_write
Aracılar Havuzu vso.agentpools Ajan Havuzları (okuma) Görevleri, havuzları, kuyrukları, ajanları ve ajanlar için şu anda çalışan veya yakın zamanda tamamlanmış işleri görüntüleme olanağı sağlar.
vso.agentpools_manage Ajan Havuzları (okuma, yönetme) Evet Havuzları, kuyrukları ve aracıları yönetme olanağı sağlar. vso.agentpools
vso.environment_manage Ortam (okuma, yönetme) Evet Havuzları, kuyrukları, aracıları ve ortamları yönetme olanağı sağlar. vso.agentpools_manage
Analizler vso.analytics Analitik (okuma) Analiz verilerini sorgulama olanağı sağlar.
Denetim vso.auditlog Denetim Günlüğü (görüntüleme) Kullanıcılara denetim günlüğünü okuma olanağı verir.
vso.auditstreams_manage Denetim Akışları (okuma) Evet Kullanıcılara denetim akışlarını yönetme olanağı verir. vso.auditlog
İnşa vso.build Derleme (okuma) Derleme sonuçları, tanımlar ve istekler dahil olmak üzere derleme yapıtlarına erişme ve hizmet kancaları aracılığıyla derleme olayları hakkında bildirim alma olanağı verir. vso.hooks_write
vso.build_execute Derleme/Oluşturma (okuma ve yürütme) Evet Derleme sonuçları, tanımlar ve istekler dahil olmak üzere derleme yapıtlarına erişme ve derlemeyi kuyruğa alma, derleme özelliklerini güncelleştirme ve hizmet kancaları aracılığıyla derleme olayları hakkında bildirim alma olanağı verir. vso.build
Kod vso.code Kod (kod okuma) Commit'ler, değişiklik setleri, dallar ve diğer sürüm kontrol yapıtları hakkında kaynak kodu ve meta verileri okuma olanağı sağlar. Ayrıca hizmet kancaları aracılığıyla kod arama ve sürüm denetimi olayları hakkında bildirim alma olanağı sağlar. vso.hooks_write
vso.code_write Kod (okuma ve yazma) Evet Kaynak kodu okuma, güncelleştirme ve silme, işlemeler, değişiklik kümeleri, dallar ve diğer sürüm denetimi yapıtları hakkındaki meta verilere erişme olanağı sağlar. Ayrıca pull istekleri ve kod incelemeleri oluşturup yönetme ve hizmet kancaları aracılığıyla sürüm kontrolü olayları hakkında bildirim alma olanağı sağlar. vso.code
vso.code_manage Kod (okuma, yazma ve yönetme) Evet Kaynak kodu okuma, güncelleştirme ve silme, işlemeler, değişiklik kümeleri, dallar ve diğer sürüm denetimi yapıtları hakkındaki meta verilere erişme olanağı sağlar. Ayrıca kod depoları oluşturup yönetme, çekme istekleri ve kod gözden geçirmeleri oluşturup yönetme ve hizmet kancaları aracılığıyla sürüm denetimi olayları hakkında bildirim alma olanağı sağlar. vso.code_write
vso.code_full Kod (tam sürüm) Evet Kaynak koduna, commit işlemleri, değişiklik paketleri, dallar ve diğer sürüm denetimi öğeleriyle ilgili meta verilere sınırsız erişim sağlar. Ayrıca kod depoları oluşturup yönetme, çekme istekleri ve kod gözden geçirmeleri oluşturup yönetme ve hizmet kancaları aracılığıyla sürüm denetimi olayları hakkında bildirim alma olanağı sağlar. Ayrıca İstemci OM API'leri için sınırlı destek içerir. vso.code_manage
vso.code_status Kod (durum) Commit ve pull request durumunu okuma ve yazma yeteneği verir.
Bağlı Sunucu vso.connected_server Bağlı Sunucu Şirket içi bağlı bir sunucudan gerekli uç noktalara erişme olanağı verir.
Destek Hakları vso.entitlements Yetkilendirmeler (Okuma) Lisans hakları uç noktasına yalnızca okuma erişimi sağlayarak hesap haklarını elde eder.
vso.memberentitlementmanagement Üye Hak Yönetimi (okuma) Kullanıcılara, lisanslarına ek olarak erişebilecekleri projeleri ve uzantıları okuma olanağı verir.
vso.memberentitlementmanagement_write Üyelik Hakkı Yönetimi (yazma) Evet Kullanıcıları, lisanslarını ve erişebilecekleri projeleri ve uzantıları yönetme olanağı sağlar. vso.memberentitlementmanagement
Uzantılar vso.extension Uzantılar (okuma işlevi) Yüklü uzantıları okuma olanağı verir. vso.profile
vso.extension_manage Uzantılar (okuma ve yönetme) Evet Yüklü uzantılarda diğer yönetim eylemlerini yükleme, kaldırma ve gerçekleştirme olanağı verir. vso.extension
vso.extension.data Uzantı verilerini oku Yüklü uzantılar tarafından depolanan verileri (ayarlar ve belgeler) okuma olanağı verir. vso.profile
vso.extension.data_write Uzantı verileri (okuma ve yazma) Yüklü uzantılar tarafından depolanan verileri (ayarlar ve belgeler) okuma ve yazma olanağı sağlar. vso.extension.data
Github Bağlantıları vso.githubconnections GitHub Bağlantıları (okuma izni) GitHub bağlantıları ve GitHub depoları verilerini okuma olanağı sağlar.
vso.githubconnections_manage GitHub Bağlantıları (okuma ve yönetme) Evet GitHub bağlantılarını ve GitHub depoları verilerini okuma ve yönetme olanağı sağlar vso.githubconnections
Grafik ve kimlik vso.graph Grafik - okunabilir Kullanıcı, grup, kapsam ve grup üyeliği bilgilerini okuma olanağı verir.
vso.graph_manage Graph (yönetim) Evet Kullanıcı, grup, kapsam ve grup üyeliği bilgilerini okuma ve kullanıcı, grup ekleme ve grup üyeliklerini yönetme olanağı verir. vso.graph
vso.identity Kimlik (okuma) Kimlikleri ve grupları okuma olanağı sağlar.
vso.identity_manage Kimlik (yönet) Evet Kimlikleri ve grupları okuma, yazma ve yönetme olanağı sağlar. vso.identity
Makine Grubu vso.machinegroup_manage Dağıtım grubu (okuma, yönetme) Evet Dağıtım grubu ve aracı havuzlarını yönetme olanağı sağlar. vso.agentpools_manage
Pazar Yeri vso.gallery Pazaryeri Genel ve özel öğelere ve yayıncılara okuma erişimi verir. vso.profile
vso.gallery_acquire Pazaryeri (satın alma) Okuma erişimi ve öğe edinme olanağı sağlar. vso.gallery
vso.gallery_publish Pazar Yeri (yayımlama) Evet Okuma izni ve öğeleri yükleme, güncelleme ve paylaşma olanağı sunar. vso.gallery
vso.gallery_manage Pazaryeri (yönet) Evet Okuma erişimi sağlar ve öğeleri ve yayımlayıcıları yayımlama ve yönetme yeteneği verir. vso.gallery_publish
Bildirimler vso.notification Bildirimler (okuma) Filtrelenebilir alan değerleri dahil olmak üzere aboneliklere ve olay meta verilerine okuma erişimi sağlar. vso.profile
vso.notification_write Bildirimler (yazma) Filtrelenebilir alan değerleri dahil olmak üzere aboneliklere okuma ve yazma erişimi ve olay meta verilerine okuma erişimi sağlar. vso.notification
vso.notification_manage Bildirimler (yönet) Filtrelenebilir alan değerleri dahil olmak üzere aboneliklere okuma, yazma ve yönetim erişimi ve olay meta verilerine okuma erişimi sağlar. vso.notification_write
vso.notification_diagnostics Bildirimler (tanılama) Bildirimle ilgili tanılama günlüklerine erişim sağlar ve tek tek abonelikler için tanılamayı etkinleştirme olanağı sağlar. vso.notification
Paketleme vso.packaging Paketleme (bilgi) Akışları ve paketleri okuma imkanı sağlar. vso.profile
vso.packaging_write Paketleme (okuma ve yazma) Evet Akışlar ve paketleri oluşturma ve okuma yeteneğini sağlar. vso.packaging
vso.packaging_manage Paketleme (okuma, yazma ve yönetme) Evet Akışlar ve paketler oluşturma, okuma, güncelleştirme ve silme yetkisi sağlar. vso.packaging_write
İşlem Hattı Kaynakları vso.pipelineresources_use Boru Hattı Kaynakları Kullanımı Evet Bir işlem hattının korumalı kaynak kullanma isteğini onaylama olanağı verir: aracı havuzu, ortam, kuyruk, depo, güvenli dosyalar, hizmet bağlantısı ve değişken grubu.
vso.pipelineresources_manage Boruhattı Kaynakları (kullanma ve yönetme) Evet Korumalı bir kaynağı veya işlem hattının korumalı kaynak kullanma isteğini yönetme olanağı verir: aracı havuzu, ortam, kuyruk, depo, güvenli dosyalar, hizmet bağlantısı ve değişken grubu. vso.pipelineresources_use
Proje ve Ekip vso.project Proje ve ekip (okuma) Projeleri ve ekipleri okuma olanağı sağlar.
vso.project_write Proje ve ekip (okuma ve yazma ile ilgili) Projeleri ve ekipleri okuma ve güncelleştirme olanağı sağlar. vso.project
vso.project_manage Proje ve ekip (okuma, yazma ve yönetme) Evet Projeleri ve ekipleri oluşturma, okuma, güncelleştirme ve silme olanağı sağlar. vso.project_write
Yayın vso.release Yayınla (Oku) Yayınlar, yayın tanımları ve yayın ortamı da dahil olmak üzere, yayın nesnelerini okuma yeteneği sağlar. vso.profile
vso.release_execute İzin ver (okuma, yazma ve yürütme) Evet Yayınlar, yayın tanımları ve yayın ortamı dahil olmak üzere yayın yapıtlarını okuma ve güncelleştirme ve yeni bir sürümü kuyruğa alma olanağı sağlar. vso.release
vso.release_manage Yayın (okuma, yazma, yürütme ve yönetme) Evet Yayınlar, yayın tanımları ve yayın ortamı dahil olmak üzere yayın yapıtlarını okuma, güncelleştirme ve silme ve yeni bir sürümü kuyruğa alma ve onaylama olanağı sağlar. vso.release_execute
Güvenli Dosyalar vso.securefiles_read Güvenli Dosyalar (okuma) Evet Güvenli dosyaları okuma olanağı verir.
vso.securefiles_write Güvenli Dosyalar (okuma, oluşturma) Evet Güvenli dosyaları okuma ve oluşturma olanağı verir. vso.securefiles_read
vso.securefiles_manage Güvenli Dosyalar (okuma, oluşturma ve yönetme) Evet Güvenli dosyaları okuma, oluşturma ve yönetme olanağı sağlar. vso.securefiles_write
Güvenlik vso.security_manage Güvenlik (yönet) Evet Güvenlik izinlerini okuma, yazma ve yönetme olanağı sağlar.
Hizmet Bağlantıları vso.serviceendpoint Hizmet Uç Noktaları (görüntüle) Hizmet uç noktalarını okuma olanağı verir. vso.profile
vso.serviceendpoint_query Hizmet Uç Noktaları (okuma ve sorgulama) Hizmet uç noktalarını okuma ve sorgulama olanağı verir. vso.serviceendpoint
vso.serviceendpoint_manage Hizmet Uç Noktaları (okuma, sorgulama ve yönetme) Evet Hizmet uç noktalarını okuma, sorgulama ve yönetme olanağı sağlar. vso.serviceendpoint_query
Servis Bağlantıları vso.hooks Hizmet bağlantıları (okuma işlemi) Desteklenen olaylar, tüketiciler ve eylemler dahil olmak üzere hizmet kancası aboneliklerini ve meta verilerini okuma olanağı sağlar. Artık halkın erişimine açık değil. vso.profile
vso.hooks_write Hizmet bağlayıcıları (okuma ve yazma) Desteklenen olaylar, tüketiciler ve eylemler dahil olmak üzere hizmet kancası abonelikleri oluşturma ve güncelleştirme ve meta verileri okuma olanağı sağlar. Artık halkın erişimine açık değil. vso.hooks
vso.hooks_interact Etkileşimli hizmet kancaları Hizmet kancaları aracılığıyla alınan olaylar üzerinde etkileşim kurma ve eylemler gerçekleştirme olanağı sağlar. Artık halkın erişimine açık değil. vso.profile
Ayarlar vso.settings Ayarları Oku Ayarları okuma olanağı verir.
vso.settings_write Ayarlar (okuma ve yazma) Ayarları okuma ve yazma yeteneğini verir. vso.settings
Simgeler vso.symbols Semboller (okuma) Sembolleri okuma yeteneği verir. vso.profile
vso.symbols_write Simgeler (okuma ve yazma) Sembolleri okuma ve yazma yeteneği verir. vso.symbols
vso.symbols_manage Simgeler (okuma, yazma ve yönetme) Sembolleri okuma, yazma ve yönetme olanağı sağlar. vso.symbols_write
Görev Grupları vso.taskgroups_read Görev Grupları (oku) Görev gruplarını okuma yeteneği verir.
vso.taskgroups_write Görev Grupları (okuma, oluşturma) Görev gruplarını okuma ve oluşturma olanağı verir. vso.taskgroups_read
vso.taskgroups_manage Görev Grupları (okuma, oluşturma ve yönetme) Evet Görev gruplarını okuma, oluşturma ve yönetme olanağı sağlar. vso.taskgroups_write
Ekip Panosu vso.dashboards Takım panoları (görüntüleme) Ekip panosu bilgilerini okuma olanağı sağlar.
vso.dashboards_manage Takım panoları (yönet) Ekip panosu bilgilerini yönetme olanağı sağlar. vso.dashboards
Test Yönetimi vso.test Test yönetimi (inceleme) Test planlarını, çalışmaları, sonuçları ve test yönetimiyle ilgili diğer yapıtları okuma olanağı sağlar. vso.profile
vso.test_write Test yönetimi (okuma ve yazma) Test planlarını, çalışmaları, sonuçları ve test yönetimiyle ilgili diğer yapıtları okuma, oluşturma ve güncelleştirme olanağı sağlar. vso.test
Thread vso.threads_full Çekme isteği tartışma dizileri Çekme isteği yorum dizilerini okumak ve yazmak için izin verir.
Belirteçler vso.tokens Temsilci Yetkilendirme Belirteçleri Evet Kullanıcılara temsilci yetkilendirme belirteçlerini yönetme olanağı verir.
vso.tokenadministration Belirteç Yönetimi Evet Kuruluş yöneticilerine mevcut belirteçleri yönetme (görüntüleme ve iptal etme) olanağı verir.
Kullanıcı Profili vso.profile Kullanıcı profili (okuma izni) Profilinizi, hesaplarınızı, koleksiyonlarınızı, projelerinizi, ekiplerinizi ve diğer üst düzey kuruluş yapıtlarınızı okuma olanağı sağlar.
vso.profile_write Kullanıcı profili (yazma) Profilinize yazma olanağı sağlar. vso.profile
Değişken Grupları vso.variablegroups_read Değişken Grupları (okuma modu) Değişken gruplarını okuma olanağı verir.
vso.variablegroups_write Değişken Grupları (okuma, oluşturma) Değişken gruplarını okuma ve oluşturma olanağı verir. vso.variablegroups_read
vso.variablegroups_manage Değişken Grupları (okuma, oluşturma ve yönetme) Evet Değişken gruplarını okuma, oluşturma ve yönetme olanağı sağlar. vso.variablegroups_write
Wiki vso.wiki Wiki (okuma) Wiki'leri, wiki sayfalarını ve wiki eklerini okuma olanağı sağlar. Ayrıca wiki sayfalarında arama yapma olanağı da verir.
vso.wiki_write Wiki (okuma ve yazma) Wiki'leri, wiki sayfalarını ve wiki eklerini okuma, oluşturma ve güncelleştirme olanağı sağlar. vso.wiki
İş Öğeleri vso.work İş öğeleri (okunacak) İş öğelerini, sorguları, panoları, alan ve yineleme yollarını ve diğer iş öğesi izlemeyle ilgili meta verileri okuma olanağı verir. Ayrıca, hizmet kancaları aracılığıyla sorgu yürütme, iş öğelerinde arama yapma ve iş öğesi olayları hakkında bildirim alma olanağı verir. vso.hooks_write
vso.work_write İş öğeleri (okuma ve yazma) İş öğelerini ve sorgularını okuma, oluşturma ve güncelleştirme, pano meta verilerini güncelleştirme, okuma alanı ve yineleme yolları ile ilgili diğer iş öğesi izleme meta verilerini okuma, sorguları yürütme ve hizmet kancaları aracılığıyla iş öğesi olayları hakkında bildirim alma olanağı verir. vso.work
vso.work_full İş öğeleri (tamamı) İş öğelerine, sorgulara, kapsamlara, planlara ve iş öğesi izleme meta verilerine tam erişim verir. Ayrıca hizmet kancaları aracılığıyla iş öğesi olayları hakkında bildirim alma olanağı sağlar. vso.work_write
Kullanıcı Taklidi user_impersonation Kullanıcı Taklidi Evet Visual Studio Team Services REST API'lerine tam erişime sahip olun. Bu kapsamı çok güçlü olduğu için dikkatle isteyin ve/veya onaylayın!

Yayımlanan uzantının kapsamını değiştirme

Yayımlanan uzantının kapsamını değiştirebilirsiniz. Uzantınızı daha önce yüklediyseniz (ve önceki kapsam kümesini yetkilendirdiyseniz), en yeni sürüme yükseltmeden önce yeni kapsamları yetkilendirebilirsiniz.

Uzantı ayarları merkezinin Eylem Gerekli bölümünde, kullanıcıya hangi yüklü uzantıların yetkilendirme gerektirdiği gösterilir:

kapsam değişikliği

Ardından bir yönetici yeni kapsam kümesini gözden geçirebilir ve yetkilendirebilir:

kapsam-değişiklik-diyaloğu

Yükleme hedefleri

Adından da anlaşılacağı gibi, yükleme hedefleri uzantınızı yükleyebileceğiniz ürünleri ve hizmetleri tanımlar. Microsoft.VisualStudio.Services en yaygın yükleme hedefidir ve uzantının Azure DevOps'a yüklenebileceğini gösterir.

Bir uzantı veya tümleştirme için yükleme hedefleri bildirimdeki targets alan aracılığıyla belirtilir.

Uzantılar için desteklenen tanımlayıcılar:

  • Microsoft.VisualStudio.Services.Cloud: Azure DevOps Services'e yükler
  • Microsoft.TeamFoundation.Server: Azure DevOps Server'a yükler
  • Microsoft.VisualStudio.Services: her ikisine de yüklenir. Microsoft.VisualStudio.Services.Cloud ve Microsoft.TeamFoundation.Server sürümü için kısayol [14.2,)

Tümleştirmeler için desteklenen tanımlayıcılar:

  • Microsoft.VisualStudio.Services.Cloud.Integration: Azure DevOps Services ile tümleştirilir
  • Microsoft.TeamFoundation.Server.Integration: Azure DevOps Server ile tümleşir
  • Microsoft.VisualStudio.Services.Integration: her ikisiyle de tümleşir. Microsoft.VisualStudio.Services.Cloud.Integration ve Microsoft.TeamFoundation.Server.Integration için kısayol

Daha fazla bilgi için bkz . Genişletilebilirlik noktaları.

Yükleme hedefleri örnekleri

Örnek: Azure DevOps ile çalışan uzantı

{
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services"
        }
    ]
}

Örnek: Yalnızca Azure DevOps Services ile çalışan uzantı

{
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services.Cloud"
        }
    ]
}

Yükleme hedefleri tümleştirme bildiriminde de kullanılabilir. Örneğin, birlikte çalışan ancak Azure DevOps'a yüklenmeyen ürünler, uygulamalar veya araçlar.

Örnek: Azure DevOps ile uyumlu tümleştirme

{
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services.Integration"
        }
    ]
}

Örnek: Yalnızca Azure DevOps Server ile çalışan tümleştirme

{
    "targets": [
        {
            "id": "Microsoft.TeamFoundation.Server.Integration"
        }
    ]
}

Yükleme hedef sürümleri

ve Microsoft.TeamFoundation.Servergibi Microsoft.TeamFoundation.Server.Integration bazı yükleme hedefi tanımlayıcıları isteğe bağlı bir sürüm aralığını destekler. Bu isteğe bağlı sürüm aralığı, uzantının veya tümleştirmenin desteklendiği desteklenen sürümleri daha ayrıntılı olarak açıklar.

Sürüm veya sürüm aralığı, yükleme hedef nesnesinde version alan aracılığıyla belirtilir. Bu değer şu değerlerden biri olabilir:

  • Belirli bir sürüm, örneğin: 15.0 (yalnızca 2017 RTM)
  • Desteklenen bir sürüm aralığı, örneğin: [14.0) (2015 RTM ve üzeri), [14.3,15.1] (2015 Güncelleştirme 3 ile 2017 Güncelleştirme 1). Aralık değerleri aşağıdakiler kullanılarak iyileştirilir:
    • [: en düşük sürüm dahil
    • ]: dahil olan en yüksek sürüm
    • (: en düşük sürüme özel
    • ): özel sürüm üst sınırı

Azure DevOps Server için sürüm numaraları:

Yayın Yayınlar Sürüm
2010 Tüm sürümler 10.0
2012 Tüm sürümler 11.0
2013 RTM ve güncelleştirmeler 12.0, 12.1, 12.2, 12.3, 12.4
2015 RTM ve güncelleştirmeler 14.0, 14.1, 14.2, 14.3
2017 RTM ve güncelleştirmeler 15.0, 15.1
2018 RTM ve güncelleştirmeler 16.0
2019 RTM ve güncelleştirmeler 17.0
2020 RTM ve güncelleştirmeler 18,0

Sürümleri gösteren örnekler

Örnek: Azure DevOps ile çalışan uzantı

{
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services.Cloud"
        },
        {
            "id": "Microsoft.TeamFoundation.Server",
            "version": "[15.0,)"
        }
    ]
}

Kısayollar

Microsoft.VisualStudio.Services , Azure DevOps için bir kısayoldur.

{
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services"
        }
    ]
}

eşdeğerdir:

{
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services.Cloud"
        },
        {
            "id": "Microsoft.TeamFoundation.Server",
            "version": "[14.2,)"
        }
    ]
}

Kurulum hedeflerini ve gereksinimlerini kullanma

Yükleme hedefleri ve talepleri, kullanıcılara uzantınızın veya tümleştirmenizin uyumlu olduğu ürün ve hizmetlerin doğru bir görünümünü sunmak için birlikte kullanılır. Örneğin, bir yükleme hedefinin Microsoft.VisualStudio.Services isteğe bağlı api-version/3.0 olarak belirtilmesi, uzantının Azure DevOps ile çalıştığı anlamına gelir.

İpucu

REST API'ler hakkında daha fazla bilgi için bkz . REST API Başvurusu.

Örnek: Sürüm 3.0 API'lerini kullanan uzantı

{
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services"
        }
    ],
    "demands": [
        "api-version/3.0"
    ]
}

Aşağıdaki yükleme hedeflerine çözümler:

  1. Microsoft.VisualStudio.Services.Cloud
  2. Microsoft.TeamFoundation.Server Sürüm: [15.0,)

Örnek: Sürüm 2.0 API'lerini kullanan tümleştirme

{
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services.Integration"
        }
    ],
    "demands": [
        "api-version/2.0"
    ]
}

Aşağıdaki yükleme hedeflerine çözümler:

  1. Microsoft.VisualStudio.Services.Cloud.Integration
  2. Microsoft.TeamFoundation.Server.Integration Sürüm: [14.0,)

Talep

Talepler, uzantınızın gerektirdiği özellikleri ve diğer özellikleri belirtmenize olanak sağlar. Uzantınızın yayımlandığı veya yüklenebileceği yerleri sınırlamak için bu talepleri kullanabilirsiniz.

Talepler Visual Studio Market tarafından uzantınızın uyumlu olduğu ürünleri ve ortamları listelemek için kullanılır ve bu da müşterilerin uzantınızın Azure DevOps sürümleriyle çalışıp çalışmadığını anlamasına yardımcı olur.

Uzantı bildiriminde taleplerin nasıl belirtildiğine ilişkin aşağıdaki örne bakın.

{
    "demands": [
        "api-version/3.0",
        "contribution/ms.vss-dashboards-web.widget-catalog"
    ]
}

Bu örnekte uzantı, API'lerin 3.0 sürümünü talep eder ve bu da yalnızca Azure DevOps'a yüklenebileceği anlamına gelir. Ayrıca uzantınızın yüklenebilmesi için uzantının ms.vss-dashboards-web (ve katkısının widget-catalog ) koleksiyona yüklenmesi (ve etkinleştirilmesi) gerekir.

Desteklenen talepler

Tip Açıklama Yayımlama sırasında denetlendi mi? Yükleme sırasında denetlendi mi?
environment/cloud Bulut ortamında çalıştırmayı gerektirir Evet Evet
environment/onprem Şirket içi ortamda çalıştırmayı gerektirir Evet Evet
api-version/{version} Belirli bir API sürümü gerektirir (en düşük) Hayır Evet
extension/{id} Belirli bir uzantının yüklenmesini/etkinleştirilmesini gerektirir Hayır Evet
contribution/{id} Belirli bir katkının kullanılabilir olmasını gerektirir Hayır Evet
contributionType/{id} Belirli bir katkı türünün kullanılabilir olmasını gerektirir Hayır Evet

Not

  • Sadece uzantınızın topolojiyle ilgili gereksinimlerinin belirli bir ortamda çalışmayı gerektirdiği durumlarda environment/cloud ve environment/onprem kullanın.
  • extension, contributionve contributionType talepleri yükleme zamanında değerlendirilir ve belirtilen uzantının kuruluşta veya koleksiyonda zaten yüklü ve etkin olmasını gerektirir.

Dosyalar

Bölüm files , uzantınıza eklemek istediğiniz dosyalara başvurabileceğiniz yerdir. Hem klasörleri hem de tek tek dosyaları ekleyebilirsiniz:

{
    "files": [
        {
            "path": "hello-world.html", "addressable": true
        },
        {
            "path": "scripts", "addressable": true
        },
        {
            "path": "images/logo.png", "addressable": true, "packagePath": "/"
        }
    ]
}

Özellikler

Dosyalar bölümünün özellikleri:

  • path - Disk üzerindeki kaynağın yolu, kök dizine göre göreli olabilir.
  • addressable – (isteğe bağlı) Dosyanızın URL adreslenebilir olmasını istiyorsanız true olarak ayarlayın. Varsayılan değer false'tur.
  • packagePath – (isteğe bağlı) Paket içindeki kaynağın yolu. Kök dizininizden disk üzerindeki göreli yolu varsayılan olarak kullanır.
  • contentType – (isteğe bağlı) dosyanın MIME türü. Dosya uzantısına ve işletim sistemi ayarlarına göre varsayılan olarak en iyi tahmindir.
  • assetType – (isteğe bağlı) VSIX bildiriminde varlık girişinin Type özniteliğinin değerini belirtin. Bu dosya için birden çok varlık girdisi eklendiği bir dize dizisi de olabilir. Varsayılan olarak packagePath'i kullanır.
  • lang – (isteğe bağlı) Bu varlığın dili. Yerelleştirilmiş dosyalar Accept-Language üst bilgisine göre sunulur. Bu dosyanın varsayılan (veya geri dönüş) dilinde olduğunu göstermek için boş bırakın. Aynı dosyanın yerelleştirilmiş sürümleri aynı assetType'a sahip olmalıdır.

Katkılar

Her katkı girişi aşağıdaki özelliklere sahiptir:

  • id - Katkı için bir referans kimliği (dize). Her katkı kimliğini bir uzantı içinde benzersiz hale getirin. Bkz katkılara ve türlere referanslar.
  • type - Bu katkının contributionType kimliği.
  • description - (İsteğe bağlı) Katkının ne sağladığını açıklayan bir dize.
  • targets - Katkının hedef aldığı katkı kimlikleri dizisi. Bkz Katkıları hedefleme.
  • properties - (İsteğe bağlı) Katkı türünde tanımlanan katkı özelliklerini içeren nesne.

Daha fazla bilgi için bkz. katkı modeline genel bakış.

Katkı türleri

Her katkı girişi aşağıdaki özelliklere sahiptir:

  • id - Katkı türü için bir başvuru kimliği (dize). Her katkı türü kimliğini bir uzantı içinde benzersiz hale getirin. Bkz katkılara ve türlere referanslar.
  • name - Katkı türünün tanıdık adı.
  • description - (İsteğe bağlı) Katkı türünün ne için olduğunu daha ayrıntılı olarak açıklayan bir dize.
  • properties - (İsteğe bağlı) Özellik adlarını özellik açıklamalarına eşleyen bir sözlük. Bu özellikler, bu tür katkılarının kullanabileceği gerekli ve isteğe bağlı özellikleri açıklar.

Özellik tanımlamaları şu özelliklere sahiptir:

  • description - (İsteğe bağlı) Özelliğin ne için kullanıldığını açıklayan bir dize.
  • required - (İsteğe bağlı) Doğru olması durumunda, bu boole değeri, özelliğin bu türdeki tüm katkılar için gerekli olduğunu belirtir.
  • type - Özelliğin sahip olabileceği, dize, uri, guid, boolean, tamsayı, double, dateTime, dizi veya nesne olabilen değer türü.

Daha fazla bilgi için bkz. katkı modeline genel bakış.

Katkılara ve türlere atıfta bulunma

Katkılara ve katkı türlerine başvurmak için benzersiz tanımlayıcılar kullanın. Türleri özelliği ile belirtin ve diğer katkıları özelliği ile tanımlayın.

  • Tam bir katkı referansı, yayımcı tanımlayıcısı, uzantı tanımlayıcısı ve katkı/tür tanımlayıcısını nokta (.) ile ayırarak içerir. Örneğin, ms.vss-web.hub "ms" (Microsoft) yayımcısı tarafından yayımlanan hub uzantısında vss-web tanımlayıcısına sahip katkının tam tanımlayıcısıdır.
  • Göreli katkı referansları, bir katkının aynı uzantının içindeki başka bir katkıya veya katkı türüne referansı için bir uzantı bildirim dosyasında kullanılabilir. Bu durumda, yayımcı ve ek tanımlayıcıları dahil değildir ve tanımlayıcı, bir nokta (.) ve ardından katkı tanımlayıcısıdır. Örneğin, .hub daha önce bahsedilen vss-web uzantısında ms.vss-web.hub için bir kısayol olarak kullanılabilir.

Katkıları hedefleme

Bazı katkılar, diğer katkılar tarafından hedef alınan kapsayıcılar olarak işlev görür.

  • Hub katkıları Hub Gruplarını hedefleyebilir. Bir sayfa işlendiğinde, web kullanıcı arabirimi seçilen hub grubunu hedefleyen tüm Hub katkılarını gösterir. Hub grupları, belirli bir gezinti alanında (örneğin proje düzeyi yönetici sayfaları) gösterilen bir hub grubu kümesini tanımlayan bir merkez grubu koleksiyonunu hedefler.
  • Farklı katkı türleri menüleri hedefleyebilir: eylem, köprü eylemi ve eylem sağlayıcısı. Eylemler ve köprü eylemleri tek menü öğesi girdileri sağlar. Eylem sağlayıcısı birden çok dinamik menü öğesi sağlayabilir. Belirli bir menü için, o menüye katkı sağlamayı hedefleyen tüm katkı türlerinden gelen öğeler toplanır.

Hub simgesi ekleme

Hub'ınıza simge ekleme hakkında bilgi için hub simgesi kılavuzuna göz atın.

Desteklenen rozet hizmetleri

Market yalnızca aşağıdaki güvenilen hizmetlerden gelen rozetleri destekler:

  • api.travis-ci.org/
  • badge.fury.io/
  • badges.frapsoft.com/
  • badges.gitter.im/
  • badges.greenkeeper.io/
  • cdn.travis-ci.org/
  • ci.appveyor.com/
  • codeclimate.com/
  • codecov.io/
  • coveralls.io/
  • david-dm.org/
  • gemnasium.com/
  • img.shields.io/
  • isitmaintained.com/
  • marketplace.visualstudio.com/
  • snyk.io/
  • travis-ci.com/
  • travis-ci.org/
  • vsmarketplacebadges.dev/
  • bithound.io/
  • deepscan.io/
  • githost.io/
  • gitlab.com/
  • opencollective.co/

Not

vsmarketplacebadge.apphb.com öğesini vsmarketplacebadges.dev ile değiştirin.

Başka bir hizmetten rozet göstermek için Geliştirici Topluluğu Müşteri Desteği'ne başvurun.

Örnek bildirim

Aşağıdaki uzantı, tamamlanmış derlemeler bağlam menüsüne bir eylem ve Derleme hub'ı grubuna bir hub ekler.

{
    "manifestVersion": 1,
    "id": "tools",
    "version": "0.1.0",
    "name": "Fabrikam Tools",
    "publisher": "fabrikam",
    "description": "Awesome tools to help you and your team do great things everyday.",
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services"
        }
    ],
    "demands": [
        "api-version/3.0"
    ],
    "icons": {
        "default": "images/fabrikam-logo.png"
    },
    "scopes": [
        "vso.work",
        "vso.code_write"
    ],
    "categories": [
        "Plan and track"
    ],
    "tags": [
        "working",
        "people person",
        "search"
    ],
    "branding": {
        "color": "rgb(34, 34, 34)",
        "theme": "dark"
    },
    "screenshots": [
        {
            "path": "screenshots/screen1.png"
        },
        {
            "path": "screenshots/screen2.png"
        }
    ],
    "content": {
        "details": {
            "path": "overview.md"
        },
        "license": {
            "path": "eula.md"
        }
    },
    "links": {
        "home": {
            "uri": "https://www.fabrikam-fiber-inc.com"
        },
        "getstarted": {
            "uri": "https://www.fabrikam-fiber-inc.com/help/getstarted"
        },
        "learn": {
            "uri": "https://www.fabrikam-fiber-inc.com/features"
        },
        "support": {
            "uri": "https://www.fabrikam-fiber-inc.com/support"
        },
        "repository": {
            "uri": "https://github.com/fabrikam-fiber-inc/tools"
        },
        "issues": {
            "uri": "https://github.com/fabrikam-fiber-inc/tools/issues"
        }
    },
    "repository": {
        "type": "git",
        "uri": "https://github.com/fabrikam-fiber-inc/myextension"
    },
    "badges": [
        {
            "href": "https://travis.ci/fabrikam-fiber-inc/myextension",
            "uri": "https://travis.ci/fabrikam-fiber-inc/myextension.svg?branch=master",
            "description": "TravisCI build for the project"
        },
        {
            "href": "https://ci.appveyor.com/projects/fabrikam-fiber-inc/myextension",
            "uri": "https://ci.appveyor.com/api/projects/status/vlg2sgs2y7tsdxpj4c?svg=true",
            "description": "AppVeyor build for the project"
        }
    ],
    "contributions": [
        {
            "id": "showCommits",
            "type": "ms.vss-web.action",
            "description": "Adds a menu action from builds grid to show associated items.",
            "targets": [
                "ms.vss-build-web.completed-build-menu"
            ],
            "properties": {
                "title": "View associated items",
                "uri": "launch.html"
            }
        }
    ]
}