Uzantı bildirimi başvurusu

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"
        }
    ]
}

Gerekli öznitelikler

Bu özellikler gereklidir:

Özellik 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.
version 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ımcı 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 Visual Studio Market ve Azure DevOps Server 2019 ve üzeri sürümlerde yerel olarak bulunur. TFS'nin önceki sürümlerini hedefleyen uzantılar için:
      - TFS müşterileri uzantınızı bağlı bağlamda Visual Studio Market (yerel galeri değil) aracılığıyla alırsa, daha önce belirtilen kategorileri kullanın.
      - Uzantıyı doğrudan (Visual Studio Market üzerinden değil) TFS <=2018 kullanan bir müşteriyle paylaşacaksanız şu kategorileri kullanın: Kod, Planlama ve izleme, Derleme ve yayınlama, Test Etme, İşbirliği Yapma ve Tümleştirme. Hem Visual Studio Market aracılığıyla hem de doğrudan bir TFS <= 2018 müşterisiyle paylaşmanız gerekiyorsa, 2 uzantı paketine sahip olmanız gerekir.
Hedef Tümleştirmeniz 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 veya TFS ile çalışan uzantılar),
    - Microsoft.TeamFoundation.Server (TFS ile çalışan uzantı),
    - Microsoft.VisualStudio.Services.Integration (Azure DevOps veya TFS ile çalışan tümleştirmeler)
    - Microsoft.TeamFoundation.Server.Integration (TFS 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

Özellik Açıklama Notlar
Kapsam Uzantınız için gerekli izinleri listeleyen yetkilendirme kapsamları (dizeler) dizisi. Örneğin ve vso.workvs.code_write uzantınızın iş öğelerine salt okunur erişime ve kaynak koda (ve ilgili kaynağa) 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.
Talep 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ı.
contributionTypes 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

Bu isteğe bağlı özellikler kullanıcıların uzantınızı keşfetmelerine ve bunlar hakkında bilgi edinmelerine yardımcı olur:

Özellik Açıklama Notlar
Açıklama Uzantıları açıklayan birkaç cümle. 200 karakterle sınırlıdır. Açıklama, uzantınızı Market'te açıklamak ve insanların yüklemek istemesini sağlamak için uzantınızın "asansör konuşması" olmalıdır. Aşağıdaki örniğe bakın
Simge Uzantıyı temsil eden simgelerin sözlüğü. Geçerli tuşlar: default (128x128 piksel) türü BMP, GIF, EXIF, JPG, PNG ve TIFF). 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 İçeriğinize eklenemeyen görüntü dizisi. ekran görüntüleri içeriğinizde öne çıktığında daha değerlidir ve uzantınız için kaliteli bir pazar ayrıntıları sayfası oluşturmak için orada 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, uzantıdaki dosyanın yoludur.
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, uzantıdaki 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, bağlantının mutlak URL'si olan alanı olan bir uri 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.
Rozet 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 tuşlar: 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ı genel olarak işaretleme

Varsayılan olarak, Azure DevOps Market'teki tüm uzantılar özeldir. Bunlar yalnızca yayımcı tarafından ve yayımcı tarafından paylaşılan 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 Market'te kullanıcıların denemesine hazırsa ancak yine de birkaç hata üzerinde çalışıyorsanız veya işlev ekliyorsanız, olarak previewiş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, uzantıyı bayrak ve __BYOLENFORCED etiketle Paid işaretleyebilirsiniz (iki alt çizgiyle başlar):

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

Bir uzantıyı Market'te Paid ücretli olarak işaretlemek için hem bayrağın __BYOLENFORCED hem de etiketin mevcut olması gerekir. Kendi Lisansını Getir (KLG), uzantının yayımcısının, Azure DevOps uzantıları için Microsoft tarafından sağlanmayan uzantının faturalama ve lisans mekanizması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. Ayrıca 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ılmayı gerektirmeyeceğiz. Şimdilik uzantınızın beklendiği gibi görüntüleniyor olduğundan emin olun. Her geçersiz kılma bir "KIMLIK" ve bir "davranış" oluşur. "Kimlik", bildirimde tanımlanan katkıların kimliğiyle eşleşmelidir.

"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). Bir uzantıyı daha önce sunulan faturalama ve lisanslamadan Microsoft'tan KLG modeline 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ı

Market 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 Soru-Cevap bölümü vardır. Yayımcılar Market Soru-Cevap, GitHub sorunları 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 CustomerQnASupport özelliğini kullanın.

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

Properties

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

  • enablemarketplaceqna - market veya özel Soru-Cevap için true olarak ayarlanmış boole alanı; 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 deposuyla uzantı ancak GitHub yerine Market Q & A kullanma sorunları

{
     "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 kaynaklarda 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 Veri Akışı Adı Açıklama
Aracı Havuzları vso.agentpools Aracı Havuzları (okuma) Aracılar için görevleri, havuzları, kuyrukları, aracıları ve şu anda çalışan veya son tamamlanan işleri görüntüleme olanağı sağlar.
vso.agentpools_manage Aracı Havuzları (okuma, yönetme) Havuzları, kuyrukları ve aracıları yönetme olanağı sağlar.
vso.environment_manage Ortam (okuma, yönetme) Havuzları, kuyrukları, aracıları ve ortamları yönetme olanağı sağlar.
Analizler vso.analytics Analiz (okuma) Analiz verilerini sorgulama olanağı sağlar.
Denetim vso.auditlog Denetim Günlüğü (okuma) Kullanıcılara denetim günlüğünü okuma olanağı verir.
vso.auditstreams_manage Denetim Akışlar (okuma) Kullanıcılara denetim akışlarını yönetme olanağı verir.
Yapı 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.build_execute Derleme (okuma ve yürütme) 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.
Kod vso.code Kod (okuma) İşlemeler, değişiklik kümeleri, dallar ve diğer sürüm denetimi 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.code_write Kod (okuma ve yazma) 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 ç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_manage Kod (okuma, yazma ve yönetme) 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_full Kod (tam) Kaynak koduna, işlemeler, değişiklik kümeleri, dallar ve diğer sürüm denetimi yapıtlarıyla ilgili meta verilere tam erişim verir. 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_status Kod (durum) İşleme ve çekme isteği durumunu okuma ve yazma olanağı verir.
Bağlan Sunucu vso.connected_server Bağlan Sunucu Şirket içi bağlı bir sunucudan gerekli uç noktalara erişme olanağı verir.
Destek Hakları vso.entitlements Yetkilendirmeler (Okuma) Hesap yetkilendirmelerini almak için lisans yetkilendirmeleri uç noktasına salt okunur erişim sağlar.
vso.memberentitlementmanagement MemberEntitlement Management (okuma) Kullanıcılara, lisanslarına ek olarak erişebilecekleri projeleri ve uzantıları okuma olanağı verir.
vso.memberentitlementmanagement_write MemberEntitlement Management (yazma) Kullanıcıları, lisanslarını ve erişebilecekleri projeleri ve uzantıları yönetme olanağı sağlar.
Uzantı -ları vso.extension Uzantılar (okuma) Yüklü uzantıları okuma olanağı verir.
vso.extension_manage Uzantılar (okuma ve yönetme) Yüklü uzantılarda diğer yönetim eylemlerini yükleme, kaldırma ve gerçekleştirme olanağı verir.
vso.extension.data Uzantı verileri (okuma) Yüklü uzantılar tarafından depolanan verileri (ayarlar ve belgeler) okuma olanağı verir.
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.
Grafik ve kimlik vso.graph Grafik (okuma) Kullanıcı, grup, kapsam ve grup üyeliği bilgilerini okuma olanağı verir.
vso.graph_manage Graph (yönet) Kullanıcı, grup, kapsam ve grup üyeliği bilgilerini okuma ve kullanıcı, grup ekleme ve grup üyeliklerini yönetme olanağı verir.
vso.identity Kimlik (okuma) Kimlikleri ve grupları okuma olanağı sağlar.
vso.identity_manage Kimlik (yönet) Kimlikleri ve grupları okuma, yazma ve yönetme olanağı sağlar.
Makine Grubu vso.machinegroup_manage Dağıtım grubu (okuma, yönetme) Dağıtım grubu ve aracı havuzlarını yönetme olanağı sağlar.
Market vso.gallery Market Genel ve özel öğelere ve yayımcılara okuma erişimi verir.
vso.gallery_acquire Market (satın alma) Okuma erişimi ve öğe alma olanağı verir.
vso.gallery_publish Market (yayımlama) Okuma erişimi ve öğeleri karşıya yükleme, güncelleştirme ve paylaşma olanağı verir.
vso.gallery_manage Market (yönet) Okuma erişimi ve öğeleri ve yayımcıları yayımlama ve yönetme olanağı verir.
Bildirimler vso.notification Bildirimler (okuma) Filtrelenebilir alan değerleri dahil olmak üzere aboneliklere ve olay meta verilerine okuma erişimi sağlar.
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_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_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.
Paketleme vso.packaging Paketleme (okuma) Akışları ve paketleri okuma olanağı sağlar.
vso.packaging_write Paketleme (okuma ve yazma) Akışlar ve paketler oluşturma ve okuma olanağı sağlar.
vso.packaging_manage Paketleme (okuma, yazma ve yönetme) Akışlar ve paketler oluşturma, okuma, güncelleştirme ve silme olanağı sağlar.
İşlem Hattı Kaynakları vso.pipelineresources_use İşlem Hattı Kaynakları (kullanım) 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 İşlem Hattı Kaynakları (kullanma ve yönetme) 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.
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) Projeleri ve ekipleri okuma ve güncelleştirme olanağı sağlar.
vso.project_manage Proje ve ekip (okuma, yazma ve yönetme) Projeleri ve ekipleri oluşturma, okuma, güncelleştirme ve silme olanağı sağlar.
Sürüm vso.release Yayın (okuma) Yayınlar, yayın tanımları ve yayın ortamı dahil olmak üzere yayın yapıtlarını okuma olanağı sağlar.
vso.release_execute Yayın (okuma, yazma ve yürütme) 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_manage Yayın (okuma, yazma, yürütme ve yönetme) 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.
Güvenli Dosyalar vso.securefiles_read Güvenli Dosyalar (okuma) Güvenli dosyaları okuma olanağı verir.
vso.securefiles_write Güvenli Dosyalar (okuma, oluşturma) Güvenli dosyaları okuma ve oluşturma olanağı verir.
vso.securefiles_manage Güvenli Dosyalar (okuma, oluşturma ve yönetme) Güvenli dosyaları okuma, oluşturma ve yönetme olanağı sağlar.
Güvenlik vso.security_manage Güvenlik (yönet) Güvenlik izinlerini okuma, yazma ve yönetme olanağı sağlar.
Hizmet Bağlantıları vso.serviceendpoint Hizmet Uç Noktaları (okuma) Hizmet uç noktalarını okuma olanağı verir.
vso.serviceendpoint_query Hizmet Uç Noktaları (okuma ve sorgulama) Hizmet uç noktalarını okuma ve sorgulama olanağı verir.
vso.serviceendpoint_manage Hizmet Uç Noktaları (okuma, sorgulama ve yönetme) Hizmet uç noktalarını okuma, sorgulama ve yönetme olanağı sağlar.
Ayarlar vso.settings Ayarlar (okuma) Ayarları okuma olanağı verir.
vso.settings_write Ayarlar (okuma ve yazma) Ayarları oluşturma ve okuma olanağı verir.
Simgeler vso.symbols Simgeler (okuma) Sembolleri okuma yeteneği verir.
vso.symbols_write Simgeler (okuma ve yazma) Sembolleri okuma ve yazma yeteneği verir.
vso.symbols_manage Simgeler (okuma, yazma ve yönetme) Sembolleri okuma, yazma ve yönetme olanağı sağlar.
Görev Grupları vso.taskgroups_read Görev Grupları (okuma) 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_manage Görev Grupları (okuma, oluşturma ve yönetme) Görev gruplarını okuma, oluşturma ve yönetme olanağı sağlar.
Ekip Panosu vso.dashboards Ekip panoları (okuma) Ekip panosu bilgilerini okuma olanağı sağlar.
vso.dashboards_manage Ekip panoları (yönet) Ekip panosu bilgilerini yönetme olanağı sağlar.
Test Yönetimi vso.test Test yönetimi (okuma) Test planlarını, çalışmaları, sonuçları ve test yönetimiyle ilgili diğer yapıtları okuma olanağı sağlar.
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.
İş Parçacıkları vso.threads_full Çekme isteği iş parçacıkları Çekme isteği açıklama iş parçacıklarını okumak ve yazmak için yeteneği verir.
Belirteçler vso.tokens Temsilci Yetkilendirme Belirteçleri Kullanıcılara temsilci yetkilendirme belirteçlerini yönetme olanağı verir.
vso.tokenadministration Belirteç Yönetici 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) 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.
Değişken Grupları vso.variablegroups_read Değişken Grupları (okuma) 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_manage Değişken Grupları (okuma, oluşturma ve yönetme) Değişken gruplarını okuma, oluşturma ve yönetme olanağı sağlar.
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.
İş Öğeleri vso.work İş öğeleri (okuma) İş öğ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.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_full İş öğeleri (tam) İş öğ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.
Kullanıcı Kimliğe Bürünme user_impersonation Kullanıcı Kimliğe Bürünme 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ı yetkilendirmeniz gerekir.

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

kapsam değişikliği

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

scope-change-dialog

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. ve Microsoft.TeamFoundation.Server sürümü için Microsoft.VisualStudio.Services.Cloud 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. ve kısayolu Microsoft.VisualStudio.Services.Cloud.IntegrationMicrosoft.TeamFoundation.Server.Integration

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 çalışan 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.Server.Integrationgibi Microsoft.TeamFoundation.Server 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)
    • ]: en yüksek sürüm (dahil)
    • (: en düşük sürüme özel
    • ): özel sürüm üst sınırı

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

Sürüm 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,)"
        }
    ]
}

Yükleme hedeflerini ve taleplerini kullanma

Yükleme hedefleri ve talepleri, kullanıcılara uzantınızın veya tümleştirmenizin uyumlu olduğu ürünlerin/hizmetlerin doğru 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.ServerSü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.IntegrationSü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

Type 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 Yes Yes
environment/onprem Şirket içi ortamda çalıştırmayı gerektirir Yes Yes
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

  • ve environment/onprem yalnızca uzantınızın belirli bir ortamda çalıştırılmasını gerektiren topolojiyle ilgili gereksinimleri olduğunda kullanınenvironment/cloud.
  • extension, contributionve contributionType talepleri yükleme zamanında değerlendirilir ve belirtilen uzantının kuruluşta/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": "/"
        }
    ]
}

Properties

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

  • path - Kök dizininize göre olabilecek disk üzerindeki kaynağın yolu.
  • 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 başvuru kimliği (dize). Her katkının kimliği bir uzantı içinde benzersiz olmalıdır. Bkz . katkılara ve türlere başvurma.
  • 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 hedeflediğini (katkıda bulunan) 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ünün kimliği bir uzantı içinde benzersiz olmalıdır. Bkz . katkılara ve türlere başvurma.
  • name - Katkı türünün kolay 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 açıklamaları aşağıdaki özelliklere sahiptir:

  • description - (İsteğe bağlı) Özelliğin ne için kullanıldığını açıklayan bir dize.
  • required - (İsteğe bağlı) True ise özelliğin bu türdeki tüm katkılar için gerekli olduğunu belirten boole değeri.
  • 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 başvurma

Katkılara ve katkı türlerine başvurmak için benzersiz tanımlayıcılar kullanın. Özelliğiyle type başvuru türleri ve özelliğiyle targets diğer katkılara başvurun.

  • Tam katkı başvurusu yayımcı tanımlayıcısını, uzantı tanımlayıcısını 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 "vss-web" uzantısında "hub" tanımlayıcısı ile katkının tam tanımlayıcısıdır.
  • Göreli katkı başvuruları, bir katkının aynı uzantıdaki başka bir katkıya veya katkı türüne başvurusu için uzantı bildiriminde kullanılabilir. Bu durumda, yayımcı ve uzantı tanımlayıcıları DAHIL DEĞİlDİ ve tanımlayıcı bir nokta (.) ve ardından katkı tanımlayıcısı olur. Örneğin, ".hub" daha önce "ms.vss-web.hub" kısayolu olarak bahsedilen "vss-web" uzantısında kullanılabilir.

Katkıları hedefleme

Bazı katkılar, diğer katkıların hedeflediği kapsayıcılar olarak görev 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, söz konusu menü katkısını hedefleyen tüm katkılar (bu türlerden herhangi biri) genelinde öğ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" yerine "vsmarketplacebadges.dev" yazın.

Başka bir hizmetten rozet göstermek için ile iletişime geçin vsmarketplace@microsoft.com.

Örnek bildirim

Aşağıdaki uzantı, tamamlanmış derlemeler bağlam menüsüne bir eyleme ve Derleme hub'ı grubuna bir hub'a katkıda bulunur:

{
    "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"
            }
        }
    ]
}