Referenční informace k manifestu rozšíření
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Každá přípona má soubor manifestu JSON, který definuje základní informace o rozšíření. Soubor také definuje, jak může rozšířit a vylepšit prostředí. V tomto článku se dozvíte, jak vytvořit manifest pro rozšíření Azure DevOps.
Tip
Projděte si nejnovější dokumentaci k vývoji rozšíření pomocí sady SDK rozšíření Azure DevOps.
Vytvořte soubor s názvem vss-extension.json
v kořenové složce s příponou. Tento soubor obsahuje požadované atributy, jako je ID rozšíření a cíle instalace, kde se dá spustit. Definuje také příspěvky provedené vaším rozšířením.
Podívejte se na následující příklad typického manifestu:
{
"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"
}
]
}
Povinné atributy
Vlastnost | Popis | Notes |
---|---|---|
manifestVersion | Číslo odpovídající verzi formátu manifestu. | Měla by mít hodnotu 1 . |
ID | Identifikátor rozšíření. | Th ID je řetězec, který musí být jedinečný mezi rozšířeními od stejného vydavatele. Musí začínat abecedním nebo číselným znakem a obsahovat "A" až "Z", "a" až "z", "0" až "9" a "-" (spojovník). Příklad: sample-extension . |
version | Řetězec určující verzi rozšíření. | Měla by být ve formátu major.minor.patch , například 0.1.2 1.0.0 . Můžete také přidat čtvrté číslo pro následující formát: 0.1.2.3 |
Jméno | Krátký, čitelný název rozšíření. Omezeno na 200 znaků. | Příklad: "Fabrikam Agile Board Extension" . |
vydavatel | Identifikátor vydavatele. | Tento identifikátor musí odpovídat identifikátoru, pod který je rozšíření publikováno. Viz Vytvoření a správa vydavatele. |
Kategorie | Pole řetězců představujících kategorie, do kterých vaše rozšíření patří. Musí být k dispozici alespoň jedna kategorie a neexistuje žádné omezení počtu kategorií, které můžete zahrnout. | Platné hodnoty: Azure Repos , Azure Boards , Azure Pipelines , Azure Test Plans a Azure Artifacts .Poznámky:
– Pokud k publikování používáte rozšíření Azure DevOps Extension Tasks, ujistěte se, že jeho verze je >= 1.2.8. Aktualizaci rozšíření možná budete muset schválit kvůli nedávným změnám oboru. – Výše uvedené kategorie jsou nativně přítomny v sadě Visual Studio Marketplace a Azure DevOps Serveru 2019 a výše. Pro rozšíření, která cílí na starší verze TFS:
– Pokud budete rozšíření sdílet přímo (to znamená ne přes Visual Studio Marketplace) se zákazníkem, který používá TFS <=2018, použijte místo toho následující kategorie: Kód, Plán a sledování, Sestavení a vydání, Testování, Spolupráce a integrace. Pokud potřebujete sdílet jak přes Visual Studio Marketplace, tak přímo se zákazníkem TFS <= 2018, budete muset mít 2 balíčky rozšíření. |
cíle | Produkty a služby podporované vaší integrací nebo rozšířením. Další informace najdete v tématu Cíle instalace. | Pole objektů, kde každý objekt obsahuje id pole označující jednu z následujících možností:
Microsoft.VisualStudio.Services (rozšíření, která fungují s Azure DevOps nebo TFS),Microsoft.TeamFoundation.Server - (rozšíření, které funguje s TFS),- Microsoft.VisualStudio.Services.Integration (integrace, které fungují s Azure DevOps nebo TFS) - Microsoft.TeamFoundation.Server.Integration (integrace, které fungují s TFS) |
Příklady požadovaných atributů
{
"manifestVersion": 1,
"id": "tools",
"version": "0.1.0",
"name": "Fabrikam Tools",
"publisher": "fabrikam",
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
]
}
Volitelné atributy
Atributy modulu runtime
Vlastnost | Popis | Notes |
---|---|---|
oblasti | Pole oborů autorizace (řetězců) uvádějící oprávnění vyžadovaná vaším rozšířením. | Označuje například, vso.work vs.code_write že vaše rozšíření potřebuje přístup jen pro čtení k pracovním položkám a přístupu pro čtení a zápis ke zdrojovému kódu (a souvisejícímu prostředku). Obory se uživateli zobrazí při instalaci rozšíření. Další informace najdete v úplném seznamu oborů. |
požadavky | Pole požadavků (řetězců) se seznamem schopností požadovaných rozšířením | Označuje například, api-version/3.0 že vaše rozšíření používá rozhraní API verze 3.0, a proto nejde spustit ve starších produktech, které tuto verzi nepodporují. Další informace najdete v úplném seznamu požadavků. |
baseUri | (Volitelné) základní adresa URL pro všechny relativní adresy URL určené příspěvky rozšíření. | Například: https://myapp.com/{{account.name}}/ . Tato vlastnost by měla zůstat prázdná, pokud je obsah rozšíření zabalený s vaším rozšířením. |
příspěvky | Pole příspěvků do systému. | |
contributionTypes | Pole typů příspěvků definovaných rozšířením |
{
"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"
}
}
]
}
Atributy zjišťování
Tyto volitelné vlastnosti pomáhají uživatelům zjišťovat a učit se o vašem rozšíření:
Vlastnost | Popis | Notes |
---|---|---|
popis | Několik vět popisujících rozšíření. Omezeno na 200 znaků. | Popis by měl být "prezentace výtahu" vašeho rozšíření – několik řádků, které popisují vaše rozšíření na Marketplace a aby si ho lidé chtěli nainstalovat. Podívejte se na následující příklad. |
ikony | Slovník ikon představujících rozšíření | Platné klávesy: default (128 × 128 pixelů) typu BMP, GIF, EXIF, JPG, PNG a TIFF). V budoucnu se můžou podporovat další klíče, například large (512 × 512 pixelů). Hodnota každého klíče je cesta k souboru ikony v příponě. |
značek | Pole řetězcových značek, které uživatelům pomůžou najít vaše rozšíření. | Příklady: agile , project management , task timer atd. |
snímky obrazovky | Pole obrázků, které nebylo možné zahrnout do obsahu | Snímky obrazovky jsou cennější, když jsou ve vašem obsahu doporučené, a měly by se tam použít k vytvoření stránky s podrobnostmi o kvalitě trhu pro vaše rozšíření. Snímky obrazovky můžete použít pro méně důležité obrázky, které nejsou ve vašem obsahu doporučené. Každý obrázek by měl být 1366 × 768 pixelů. Každá path položka je cesta k souboru v příponě. |
obsah | Slovník souborů obsahu, které popisují vaše rozšíření uživatelům. | Každé rozšíření by mělo obsahovat plný obsah. Tímto způsobem zobrazíte uživatelům, co vaše rozšíření může dělat. V případě potřeby zpřístupňte snímky obrazovky a zahrňte snímky obrazovek. Zahrňte overview.md soubor jako základní část obsahu. Každý soubor se předpokládá ve formátu GitHub Flavored Markdown . Každá path položka je cesta k souboru Markdownu v příponě. Platné klíče: details . V budoucnu se můžou podporovat další klíče. |
odkazy | Slovník odkazů, které uživatelům pomůžou získat další informace o vašem rozšíření, získat podporu a přesunout. | Platné klíče: getstarted – první kroky, postup nastavení nebo použití. learn – podrobnější obsah, který uživatelům pomůže lépe porozumět vašemu rozšíření nebo službě. license - licenční smlouva s koncovým uživatelem. privacypolicy - zásady ochrany osobních údajů pro rozšíření. support - získejte nápovědu a podporu pro rozšíření. Hodnota každého klíče je objekt s polem uri , což je absolutní adresa URL odkazu. |
skladiště | Slovník vlastností popisujících úložiště zdrojového kódu pro rozšíření | Platné klíče: type – typ úložiště. Příklad: git. uri – Absolutní adresa URL úložiště. |
odznaky | Pole odkazů na externí metadata odznáčky, jako jsou TravisCI, Appveyor atd., ze schválených odznáčků | Platné klíče: href – Propojte uživatele při výběru odznáček. uri - Absolutní adresa URL obrázku odznáčku, který se má zobrazit. description - Popis odznáček, který se má zobrazit při najetí myší. |
značkování | Slovník vlastností souvisejících se značkou | Platné klíče: color – primární barva rozšíření nebo vydavatele; může být šestnáctkový (#ff00ff), RGB (rgb(100 200;50)) nebo podporované názvy barev HTML (modrá). theme - doplňuje barvu; používejte tmavou barvu pro tmavé značky nebo světlo pro světlejší barvy značky. |
Označení veřejného rozšíření
Ve výchozím nastavení jsou všechna rozšíření na Azure DevOps Marketplace soukromá. Jsou viditelné jenom vydavateli a účtům sdíleným vydavatelem. Pokud je váš vydavatel ověřený, můžete rozšíření zveřejnit nastavením příznaku Public
v manifestu rozšíření:
{
"galleryFlags": [
"Public"
]
}
Nebo:
{
"public": true
}
Další informace najdete v tématu Balíček, Publikování/ Instalace.
Označení rozšíření, které má být ve verzi Preview
Pokud je vaše rozšíření připravené pro uživatele na Marketplace, ale stále pracujete na několika chybách nebo přidávání funkcí, můžete ho označit jako preview
:
{
"galleryFlags": [
"Preview"
]
}
Označení rozšíření jako placené verze Preview
Pokud chcete své rozšíření prodávat na Marketplace, označte ho jako placenou verzi Preview. Rozšíření označené zdarma nejde změnit na placené.
{
"galleryFlags": [
"Paid",
"Preview"
]
}
Označení rozšíření jako placené
Pokud chcete rozšíření prodat na Marketplace, můžete ho Paid
označit příznakem a __BYOLENFORCED
značkou (začíná dvěma podtržítky):
{
"galleryFlags": [
"Paid"
],
"tags": [
"__BYOLENFORCED"
]
}
Příznak Paid
i __BYOLENFORCED
značka musí být k dispozici, aby bylo možné rozšíření označit jako placené na Marketplace. Používání vlastní licence (BYOL) znamená, že vydavatel rozšíření poskytuje fakturační a licenční mechanismus rozšíření, protože ho microsoft neposkytuje pro rozšíření Azure DevOps. Všechna placená rozšíření se vyžadují k definování zásad ochrany osobních údajů, zásad podpory a licenční smlouvy s koncovým uživatelem. Vydavatelé také musí poskytnout obsah na kartě Ceny na Marketplace následujícím způsobem:
{
"content": {
"details": {
"path": "overview.md"
},
"pricing": {
"path": "pricing.md"
}
}
}
Abyste přepsali placené licencování, musíte do manifestu rozšíření přidat také nový oddíl. V budoucnu odebereme placenou kontrolu licencování a už nebudeme vyžadovat přepsání. Prozatím se ujistěte, že se vaše rozšíření zobrazuje podle očekávání. Každé přepsání se skládá z ID a chování. ID musí odpovídat ID příspěvků definovaných v manifestu.
"licensing": {
"overrides": [
{ "id": "my-hub", "behavior": " AlwaysInclude" }
]
}
Pokud vaše placené rozšíření BYOL nabízí zkušební období (doporučujeme proto), můžete určit délku zkušební verze ve dnech:
{
"galleryproperties": {
"trialDays": "30"
}
}
Poznámka:
Pokud chcete cílit na Azure DevOps, ale nechcete pro své rozšíření zobrazit možnost Stažení , přidejte __DoNotDownload
značku (začíná dvěma podtržítky) do manifestu rozšíření.
Pokud přesouváte rozšíření z dříve nabízené fakturace a licencování od Microsoftu do modelu BYOL, kontaktujte nás a požádejte nás o vhodné kroky.
Příklad dalších vlastností
{
"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"
}
]
}
Příklad stránky Podrobností
- 1 – popis
- 2 – ikona
- 3 – kategorie
- 4. snímky obrazovky
- 5 – obsah (podrobnosti)
- 6 – odkazy
- 7 - branding
Marketplace Q &A – Vlastnost CustomerQnASupport
Všechna rozšíření v sadě Visual Studio Marketplace mají oddíl Q&A, který umožňuje jednorázové veřejné konverzace mezi uživateli rozšíření a vydavateli. Vydavatelé si můžou vybrat mezi otázkami marketplace, problémy GitHubu nebo vlastní adresou URL pro Q&A. Q&A na Marketplace můžete zakázat pomocí vlastnosti CustomerQnASupport v manifestu.
Výchozí prostředí (nejsou vyžadovány žádné změny manifestu)
- U rozšíření s úložištěm GitHubu marketplace přesměruje uživatele v části Q&A na přidružené problémy GitHubu.
- U rozšíření bez úložiště GitHub je služba Marketplace Q&A povolená.
Pro jiné prostředí než jednu z výchozích možností použijte vlastnost CustomerQnASupport v manifestu.
{
"CustomerQnASupport": {
"enablemarketplaceqna": true,
"url": "http://uservoice.visualstudio.com"
}
}
Vlastnosti
Vlastnosti oddílu Zákaznické otázky a podpora:
- enablemarketplaceqna – logické pole, nastavené na true pro marketplace nebo vlastní Q&A; false pro zakázání Q&A
- url – řetězec, adresa URL pro vlastní Q&A
Příklady použití podpory Q &A
Příklad: Rozšíření s využitím vlastní Q &A
{
"CustomerQnASupport": {
"enablemarketplaceqna":"true",
"url": "http://uservoice.visualstudio.com"
}
}
Příklad: Rozšíření s úložištěm GitHub, ale místo problémů s GitHubem s využitím služby Marketplace Q &A
{
"CustomerQnASupport": {
"enablemarketplaceqna":"true"
}
}
Příklad: Zakázání oddílu Q &A rozšířením
{
"CustomerQnASupport": {
"enablemarketplaceqna":"false"
}
}
Rozsahy
V rozšíření můžete definovat jeden nebo více oborů. Tyto obory určují, ke kterým prostředkům má vaše rozšíření přístup, a operace, ke kterým má oprávnění s těmito prostředky pracovat. Obory, které zadáte v manifestu rozšíření, jsou obory nastavené pro přístupové tokeny vydané pro vaše rozšíření. Další informace najdete v tématu Ověřování a zabezpečení.
Pokud nejsou zadány žádné obory, rozšíření jsou poskytována pouze přístup k profilům uživatelů a datům rozšíření.
Podporované obory
Kategorie | Obor | Název | Popis |
---|---|---|---|
Fondy agentů | vso.agentpools |
Fondy agentů (čtení) | Umožňuje zobrazit úkoly, fondy, fronty, agenty a aktuálně spuštěné nebo nedávno dokončené úlohy pro agenty. |
vso.agentpools_manage |
Fondy agentů (čtení, správa) | Uděluje možnost spravovat fondy, fronty a agenty. | |
vso.environment_manage |
Prostředí (čtení, správa) | Uděluje možnost spravovat fondy, fronty, agenty a prostředí. | |
Analytické nástroje | vso.analytics |
Analýza (čtení) | Uděluje možnost dotazovat se na analytická data. |
Auditování | vso.auditlog |
Protokol auditu (čtení) | Uděluje možnost číst protokol auditování uživatelům. |
vso.auditstreams_manage |
Auditovat streamy (číst) | Uděluje možnost spravovat streamy auditování uživatelům. | |
Sestavit | vso.build |
Sestavení (čtení) | Uděluje možnost přístupu k artefaktům sestavení, včetně výsledků sestavení, definic a požadavků, a možnost přijímat oznámení o událostech sestavení prostřednictvím volání služby. |
vso.build_execute |
Sestavení (čtení a spuštění) | Uděluje možnost získat přístup k artefaktům sestavení, včetně výsledků sestavení, definic a požadavků, a možnost zařadit sestavení do fronty, aktualizovat vlastnosti sestavení a možnost přijímat oznámení o událostech sestavení prostřednictvím volání služeb. | |
Kód | vso.code |
Kód (přečteno) | Uděluje možnost číst zdrojový kód a metadata o potvrzeních, sadách změn, větvích a dalších artefaktech správy verzí. Umožňuje také prohledávat kód a dostávat oznámení o událostech správy verzí prostřednictvím háků služby. |
vso.code_write |
Kód (čtení a zápis) | Uděluje možnost číst, aktualizovat a odstraňovat zdrojový kód, přistupovat k metadatům o potvrzeních, sadách změn, větvích a dalších artefaktech správy verzí. Umožňuje také vytvářet a spravovat žádosti o přijetí změn a kontroly kódu a přijímat oznámení o událostech správy verzí prostřednictvím volání služeb. | |
vso.code_manage |
Kód (čtení, zápis a správa) | Uděluje možnost číst, aktualizovat a odstraňovat zdrojový kód, přistupovat k metadatům o potvrzeních, sadách změn, větvích a dalších artefaktech správy verzí. Poskytuje také možnost vytvářet a spravovat úložiště kódu, vytvářet a spravovat žádosti o přijetí změn a kontroly kódu a přijímat oznámení o událostech správy verzí prostřednictvím volání služeb. | |
vso.code_full |
Kód (plný) | Uděluje úplný přístup ke zdrojovému kódu, metadatům o potvrzeních, sadách změn, větvích a dalších artefaktech správy verzí. Poskytuje také možnost vytvářet a spravovat úložiště kódu, vytvářet a spravovat žádosti o přijetí změn a kontroly kódu a přijímat oznámení o událostech správy verzí prostřednictvím volání služeb. Zahrnuje také omezenou podporu rozhraní API klientského OM. | |
vso.code_status |
Kód (stav) | Uděluje možnost čtení a zápisu potvrzení a žádosti o přijetí změn. | |
Připojený server | vso.connected_server |
Připojený server | Uděluje možnost přistupovat ke koncovým bodům potřebným z místního připojeného serveru. |
Nároky | vso.entitlements |
Nároky (čtení) | Poskytuje přístup jen pro čtení ke koncovému bodu licenčních nároků pro získání nároků na účet. |
vso.memberentitlementmanagement |
Správa memberEntitlement (read) | Umožňuje číst uživatele, jejich licence i projekty a rozšíření, ke kterým mají přístup. | |
vso.memberentitlementmanagement_write |
Správa memberEntitlement (zápis) | Uděluje možnost spravovat uživatele, jejich licence a projekty a rozšíření, ke kterým mají přístup. | |
Rozšíření | vso.extension |
Rozšíření (čtení) | Uděluje možnost číst nainstalovaná rozšíření. |
vso.extension_manage |
Rozšíření (čtení a správa) | Uděluje možnost instalovat, odinstalovat a provádět další akce správy u nainstalovaných rozšíření. | |
vso.extension.data |
Data rozšíření (čtení) | Uděluje možnost číst data (nastavení a dokumenty) uložená nainstalovanými rozšířeními. | |
vso.extension.data_write |
Data rozšíření (čtení a zápis) | Uděluje možnost číst a zapisovat data (nastavení a dokumenty) uložená nainstalovanými rozšířeními. | |
Graph & identity | vso.graph |
Graph (čtení) | Uděluje možnost číst informace o členství uživatelů, skupin, oborů a skupin. |
vso.graph_manage |
Graf (správa) | Uděluje možnost číst informace o členství uživatelů, skupin, oborů a skupin a přidávat uživatele, skupiny a spravovat členství ve skupinách. | |
vso.identity |
Identita (čtení) | Uděluje možnost číst identity a skupiny. | |
vso.identity_manage |
Identita (správa) | Uděluje možnost čtení, zápisu a správy identit a skupin. | |
Skupina počítačů | vso.machinegroup_manage |
Skupina nasazení (čtení, správa) | Umožňuje spravovat skupiny nasazení a fondy agentů. |
Tržiště | vso.gallery |
Marketplace | Uděluje přístup ke čtení veřejným a soukromým položkám a vydavatelům. |
vso.gallery_acquire |
Marketplace (získání) | Uděluje přístup pro čtení a možnost získat položky. | |
vso.gallery_publish |
Marketplace (publikování) | Uděluje přístup pro čtení a možnost nahrávat, aktualizovat a sdílet položky. | |
vso.gallery_manage |
Marketplace (správa) | Uděluje přístup pro čtení a umožňuje publikovat a spravovat položky a vydavatele. | |
Oznámení | vso.notification |
Oznámení (čtení) | Poskytuje přístup pro čtení k odběrům a metadatům událostí, včetně filtrovatelných hodnot polí. |
vso.notification_write |
Oznámení (zápis) | Poskytuje přístup pro čtení a zápis k odběrům a přístup pro čtení k metadatům událostí, včetně filtrovatelných hodnot polí. | |
vso.notification_manage |
Oznámení (správa) | Poskytuje přístup ke čtení, zápisu a správě předplatných a přístup pro čtení k metadatům událostí, včetně filtrovatelných hodnot polí. | |
vso.notification_diagnostics |
Oznámení (diagnostika) | Poskytuje přístup k diagnostickým protokolům souvisejícím s oznámeními a poskytuje možnost povolit diagnostiku pro jednotlivá předplatná. | |
Balení | vso.packaging |
Balení (čtení) | Uděluje možnost číst informační kanály a balíčky. |
vso.packaging_write |
Balení (čtení a zápis) | Uděluje možnost vytvářet a číst informační kanály a balíčky. | |
vso.packaging_manage |
Balení (čtení, zápis a správa) | Uděluje možnost vytvářet, číst, aktualizovat a odstraňovat informační kanály a balíčky. | |
Prostředky kanálu | vso.pipelineresources_use |
Prostředky kanálu (použití) | Udělí možnost schválit žádost kanálu o použití chráněného prostředku: fond agentů, prostředí, fronta, úložiště, zabezpečené soubory, připojení služby a skupina proměnných. |
vso.pipelineresources_manage |
Prostředky kanálu (použití a správa) | Uděluje možnost spravovat chráněný prostředek nebo žádost kanálu o použití chráněného prostředku: fond agentů, prostředí, fronta, úložiště, zabezpečené soubory, připojení služby a skupina proměnných. | |
Projekt a tým | vso.project |
Projekt a tým (čtení) | Uděluje možnost číst projekty a týmy. |
vso.project_write |
Projekt a tým (čtení a zápis) | Uděluje možnost číst a aktualizovat projekty a týmy. | |
vso.project_manage |
Projekt a tým (čtení, zápis a správa) | Uděluje možnost vytvářet, číst, aktualizovat a odstraňovat projekty a týmy. | |
Vydaná verze | vso.release |
Vydání (čtení) | Uděluje možnost číst artefakty vydané verze, včetně vydaných verzí, definic vydaných verzí a prostředí vydaných verzí. |
vso.release_execute |
Verze (čtení, zápis a spuštění) | Uděluje možnost číst a aktualizovat artefakty vydané verze, včetně vydaných verzí, definic verzí a prostředí vydaných verzí a schopnost zařadit novou verzi do fronty. | |
vso.release_manage |
Vydání (čtení, zápis, spouštění a správa) | Uděluje možnost číst, aktualizovat a odstraňovat artefakty vydané verze, včetně vydaných verzí, definic verzí a prostředí vydaných verzí, a možnost zařadit do fronty a schválit novou verzi. | |
Zabezpečené soubory | vso.securefiles_read |
Zabezpečené soubory (čtení) | Uděluje možnost číst zabezpečené soubory. |
vso.securefiles_write |
Zabezpečené soubory (čtení, vytvoření) | Uděluje možnost číst a vytvářet zabezpečené soubory. | |
vso.securefiles_manage |
Zabezpečené soubory (čtení, vytváření a správa) | Uděluje možnost číst, vytvářet a spravovat zabezpečené soubory. | |
Zabezpečení | vso.security_manage |
Zabezpečení (správa) | Uděluje možnost číst, zapisovat a spravovat oprávnění zabezpečení. |
Připojení služeb | vso.serviceendpoint |
Koncové body služby (čtení) | Uděluje možnost číst koncové body služby. |
vso.serviceendpoint_query |
Koncové body služby (čtení a dotazování) | Uděluje možnost čtení a dotazování koncových bodů služby. | |
vso.serviceendpoint_manage |
Koncové body služby (čtení, dotazování a správa) | Uděluje možnost číst, dotazovat a spravovat koncové body služby. | |
Settings | vso.settings |
Nastavení (čtení) | Uděluje možnost čtení nastavení. |
vso.settings_write |
Nastavení (čtení a zápis) | Uděluje možnost vytvářet a číst nastavení. | |
Symboly | vso.symbols |
Symboly (přečteno) | Uděluje možnost číst symboly. |
vso.symbols_write |
Symboly (čtení a zápis) | Uděluje možnost číst a zapisovat symboly. | |
vso.symbols_manage |
Symboly (čtení, zápis a správa) | Uděluje možnost číst, zapisovat a spravovat symboly. | |
Skupiny úloh | vso.taskgroups_read |
Skupiny úloh (čtení) | Uděluje možnost číst skupiny úkolů. |
vso.taskgroups_write |
Skupiny úloh (čtení, vytvoření) | Uděluje možnost číst a vytvářet skupiny úloh. | |
vso.taskgroups_manage |
Skupiny úloh (čtení, vytváření a správa) | Uděluje možnost číst, vytvářet a spravovat skupiny úloh. | |
Týmový řídicí panel | vso.dashboards |
Týmové řídicí panely (číst) | Uděluje možnost číst informace o týmovém řídicím panelu. |
vso.dashboards_manage |
Týmové řídicí panely (správa) | Uděluje možnost spravovat informace o týmovém řídicím panelu. | |
Správa testů | vso.test |
Správa testů (čtení) | Uděluje možnost číst testovací plány, případy, výsledky a další artefakty související se správou testů. |
vso.test_write |
Správa testů (čtení a zápis) | Uděluje možnost číst, vytvářet a aktualizovat testovací plány, případy, výsledky a další artefakty související se správou testů. | |
Vlákna | vso.threads_full |
Vlákna žádosti o přijetí změn | Uděluje možnost čtení a zápisu do vláken komentářů žádostí o přijetí změn. |
Tokeny | vso.tokens |
Delegovaná autorizační tokeny | Uděluje uživatelům možnost spravovat delegovaný autorizační tokeny. |
vso.tokenadministration |
Správa tokenů | Uděluje možnost spravovat (zobrazit a odvolat) stávající tokeny správcům organizace. | |
Uživatelský profil | vso.profile |
Profil uživatele (přečteno) | Uděluje možnost číst váš profil, účty, kolekce, projekty, týmy a další artefakty organizace nejvyšší úrovně. |
vso.profile_write |
Profil uživatele (zápis) | Uděluje možnost psát do vašeho profilu. | |
Skupiny proměnných | vso.variablegroups_read |
Skupiny proměnných (čtení) | Uděluje možnost číst skupiny proměnných. |
vso.variablegroups_write |
Skupiny proměnných (čtení, vytvoření) | Uděluje možnost číst a vytvářet skupiny proměnných. | |
vso.variablegroups_manage |
Skupiny proměnných (čtení, vytváření a správa) | Uděluje možnost číst, vytvářet a spravovat skupiny proměnných. | |
Wiki | vso.wiki |
Wiki (přečteno) | Uděluje možnost číst wikiweby, stránky wikiwebu a přílohy wikiwebu. Umožňuje také prohledávat stránky wikiwebu. |
vso.wiki_write |
Wiki (čtení a zápis) | Uděluje možnost číst, vytvářet a aktualizovat wikiweby, stránky wikiwebu a přílohy wikiwebu. | |
Pracovní položky | vso.work |
Pracovní položky (čtení) | Umožňuje číst pracovní položky, dotazy, panely, cesty oblastí a iterací a další metadata související se sledováním pracovních položek. Umožňuje také spouštět dotazy, prohledávat pracovní položky a přijímat oznámení o událostech pracovních položek prostřednictvím volání služby. |
vso.work_write |
Pracovní položky (čtení a zápis) | Uděluje možnost číst, vytvářet a aktualizovat pracovní položky a dotazy, metadata aktualizačního panelu, oblast čtení a iterace cesty k jiným metadatům souvisejícím se sledováním pracovních položek, spouštění dotazů a přijímání oznámení o událostech pracovních položek prostřednictvím volání služeb. | |
vso.work_full |
Pracovní položky (úplné) | Uděluje úplný přístup k pracovním položkám, dotazům, backlogům, plánům a metadatům sledování pracovních položek. Poskytuje také možnost přijímat oznámení o událostech pracovních položek prostřednictvím zahoknutých služeb. | |
Zosobnění uživatele | user_impersonation |
Zosobnění uživatele | Získejte úplný přístup k rozhraním REST API služby Visual Studio Team Services. Požádejte a/nebo odsouhlaste tento rozsah s opatrností, protože je velmi výkonný! |
Změna rozsahu publikovaného rozšíření
Rozsah publikovaného rozšíření můžete změnit. Pokud jste dříve nainstalovali rozšíření (a autorizovali předchozí sadu oborů), musíte před upgradem na nejnovější verzi autorizovat nové obory.
Část Požadovaná akce v centru nastavení rozšíření ukazuje uživatele, který (pokud existuje) nainstalované rozšíření vyžadují autorizaci:
Správce pak může zkontrolovat a autorizovat novou sadu oborů:
Cíle instalace
Jak název napovídá, cíle instalace definují produkty a služby, kde můžete nainstalovat rozšíření. Microsoft.VisualStudio.Services
je nejběžnější cíl instalace a označuje, že rozšíření je možné nainstalovat do Azure DevOps.
Cíle instalace pro rozšíření nebo integraci se zadají prostřednictvím targets
pole v manifestu.
Podporované identifikátory pro rozšíření:
Microsoft.VisualStudio.Services.Cloud
: Instalace do Azure DevOps ServicesMicrosoft.TeamFoundation.Server
: Nainstaluje se na Azure DevOps Server.Microsoft.VisualStudio.Services
: nainstaluje do obou. Zástupce proMicrosoft.VisualStudio.Services.Cloud
aMicrosoft.TeamFoundation.Server
verzi[14.2,)
Podporované identifikátory pro integrace:
Microsoft.VisualStudio.Services.Cloud.Integration
: Integrace se službou Azure DevOps ServicesMicrosoft.TeamFoundation.Server.Integration
: integrace s Azure DevOps ServeremMicrosoft.VisualStudio.Services.Integration
: integruje se s oběma. Zkratka proMicrosoft.VisualStudio.Services.Cloud.Integration
aMicrosoft.TeamFoundation.Server.Integration
Další informace naleznete v tématu Rozšiřitelnost bodů.
Příklady cílů instalace
Příklad: Rozšíření, které funguje s Azure DevOps
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
]
}
Příklad: Rozšíření, které funguje jenom s Azure DevOps Services
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Cloud"
}
]
}
Cíle instalace lze použít také v manifestu integrací. Například produkty, aplikace nebo nástroje, se kterými pracují, ale nenainstaluje se do Azure DevOps.
Příklad: Integrace, která funguje s Azure DevOps
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Integration"
}
]
}
Příklad: Integrace, která funguje jenom s Azure DevOps Serverem
{
"targets": [
{
"id": "Microsoft.TeamFoundation.Server.Integration"
}
]
}
Cílové verze instalace
Některé identifikátory cíle instalace, například Microsoft.TeamFoundation.Server
a Microsoft.TeamFoundation.Server.Integration
, podporují volitelný rozsah verzí. Tato volitelná rozsah verzí dále objasňuje podporované verze, na které se rozšíření nebo integrace podporuje.
Verze nebo rozsah verzí se zadává prostřednictvím version
pole cílového objektu instalace. Tato hodnota může být následující:
- Konkrétní verze, například:
15.0
(pouze 2017 RTM) - Rozsah podporovaných verzí, například:
[14.0)
(2015 RTM a novější),[14.3,15.1]
(2015 Update 3 až 2017 Update 1). Hodnoty rozsahu se upřesní pomocí:[
: minimální verze včetně]
: maximální verze včetně(
: minimální verze s výhradním)
: maximální verze s výhradním
Čísla verzí pro Azure DevOps Server:
Verze | Verze | Verze |
---|---|---|
2010 | Všechny vydané verze | 10.0 |
2012 | Všechny vydané verze | 11.0 |
2013 | RTM a aktualizace | 12.0, 12.1, 12.2, 12.3, 12.4 |
2015 | RTM a aktualizace | 14.0, 14.1, 14.2, 14.3 |
2017 | RTM a aktualizace | 15.0, 15.1 |
2018 | RTM a aktualizace | 16.0 |
2019 | RTM a aktualizace | 17.0 |
2020 | RTM a aktualizace | 18.0 |
Příklady zobrazující verze
Příklad: Rozšíření, které funguje s Azure DevOps
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Cloud"
},
{
"id": "Microsoft.TeamFoundation.Server",
"version": "[15.0,)"
}
]
}
Zástupci
Microsoft.VisualStudio.Services
je zkratka pro Azure DevOps.
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
]
}
odpovídá:
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Cloud"
},
{
"id": "Microsoft.TeamFoundation.Server",
"version": "[14.2,)"
}
]
}
Použití cílů a požadavků instalace
Cíle a požadavky instalace se používají společně k prezentaci uživatelů se správným pohledem na produkty nebo služby, se kterými je vaše rozšíření nebo integrace kompatibilní. Například zadání cíle Microsoft.VisualStudio.Services
instalace s poptávkou api-version/3.0
znamená, že rozšíření funguje s Azure DevOps.
Tip
Další informace o rozhraních REST API najdete v referenčních informacích k rozhraní REST API.
Příklad: Rozšíření, které používá rozhraní API verze 3.0
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
],
"demands": [
"api-version/3.0"
]
}
Řeší následující cíle instalace:
Microsoft.VisualStudio.Services.Cloud
Microsoft.TeamFoundation.Server
verze:[15.0,)
Příklad: Integrace, která používá rozhraní API verze 2.0
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Integration"
}
],
"demands": [
"api-version/2.0"
]
}
Řeší následující cíle instalace:
Microsoft.VisualStudio.Services.Cloud.Integration
Microsoft.TeamFoundation.Server.Integration
verze:[14.0,)
Požadavky
Požadavky umožňují určit možnosti a další funkce vyžadované rozšířením. Tyto požadavky můžete použít k omezení toho, kde je možné rozšíření publikovat nebo nainstalovat.
Požadavky, které Visual Studio Marketplace používá k výpisu produktů a prostředí, se kterými je vaše rozšíření kompatibilní, což zákazníkům pomáhá pochopit, jestli vaše rozšíření funguje s jejich verzí Azure DevOps, například.
Podívejte se na následující příklad toho, jak se požadavky zadává v manifestu rozšíření.
{
"demands": [
"api-version/3.0",
"contribution/ms.vss-dashboards-web.widget-catalog"
]
}
V tomto příkladu vyžaduje rozšíření verzi 3.0 rozhraní API, což znamená, že je možné ho nainstalovat jenom do Azure DevOps. Před instalací rozšíření také vyžaduje ms.vss-dashboards-web
instalaci rozšíření (a jeho widget-catalog
příspěvek) v kolekci (a jeho povolení).
Podporované požadavky
Typ | Popis | Zkontrolovali jsme publikování? | Zkontrolovali jsme instalaci? |
---|---|---|---|
environment/cloud |
Vyžaduje spuštění v cloudovém prostředí. | Ano | Yes |
environment/onprem |
Vyžaduje spuštění v místním prostředí. | Ano | Yes |
api-version/{version} |
Vyžaduje konkrétní verzi rozhraní API (minimálně). | No | Ano |
extension/{id} |
Vyžaduje instalaci nebo povolení konkrétního rozšíření. | No | Ano |
contribution/{id} |
Vyžaduje, aby byl k dispozici konkrétní příspěvek. | No | Ano |
contributionType/{id} |
Vyžaduje, aby byl k dispozici konkrétní typ příspěvku. | No | Ano |
Poznámka:
- Používejte
environment/cloud
aenvironment/onprem
pouze v případech, kdy má vaše rozšíření požadavky související s topologií, které vyžadují spuštění v daném prostředí. extension
,contribution
acontributionType
požadavky se vyhodnocují v době instalace a vyžadují, aby se zadané rozšíření už nainstalovalo a povolilo v organizaci nebo kolekci.
Soubory
Oddíl files
je místo, kde odkazujete na všechny soubory, které chcete zahrnout do svého rozšíření. Můžete přidat složky i jednotlivé soubory:
{
"files": [
{
"path": "hello-world.html", "addressable": true
},
{
"path": "scripts", "addressable": true
},
{
"path": "images/logo.png", "addressable": true, "packagePath": "/"
}
]
}
Vlastnosti
Vlastnosti oddílu Soubory:
- path - Cesta k prostředku na disku, který může být relativní vzhledem k kořenovému adresáři.
- addressable – (volitelné) Nastavte hodnotu true , pokud chcete, aby váš soubor byl adresovatelný. Výchozí hodnota je false.
- packagePath – (volitelná) cesta k prostředku v rámci balíčku. Výchozí hodnota je relativní cesta na disku z kořenového adresáře.
- contentType – (volitelný) typ MIME souboru. Výchozí hodnota je nejlepší odhad na základě přípony souboru a nastavení operačního systému.
- assetType – (volitelné) Zadejte hodnotu atributu Type položky assetu v manifestu VSIX. Může to být také pole řetězců, v takovém případě se pro tento soubor přidá více položek assetů. Výchozí hodnota je packagePath.
- lang – (volitelné) Jazyk tohoto prostředku. Lokalizované soubory se obsluhují na základě hlavičky Accept-Language. Pokud chcete tento soubor znamét, ponechte tento soubor prázdný, je ve výchozím (nebo náhradním) jazyce. Lokalizované verze stejného souboru by měly mít stejný assetType.
Příspěvky
Každá položka příspěvku má následující vlastnosti:
- ID – REFERENČNÍ ID (řetězec) pro příspěvek. ID každého příspěvku musí být v rámci rozšíření jedinečné. Viz odkazování na příspěvky a typy.
- type - ID příspěvkuType tohoto příspěvku.
- description – (Volitelné) Řetězec popisující, co příspěvek poskytuje.
- targets – pole ID příspěvků, na které je příspěvek zacílený (přispívání). Viz Cílení příspěvků.
- properties - (Volitelné) Objekt, který obsahuje vlastnosti příspěvku definovaného v typu příspěvku.
Další informace najdete v přehledu modelu přispívání.
Typy příspěvků
Každá položka příspěvku má následující vlastnosti:
- id – REFERENČNÍ ID (řetězec) pro typ příspěvku. ID každého typu příspěvku musí být v rámci rozšíření jedinečné. Viz odkazování na příspěvky a typy.
- name – popisný název typu příspěvku.
- description – (Volitelné) Řetězec popisující podrobněji, k čemu typ příspěvku slouží.
- properties – (Volitelné) Slovník, který mapuje názvy vlastností na popisy vlastností. Tyto vlastnosti popisují požadované a volitelné vlastnosti, které mohou použít příspěvky tohoto typu.
Popisy vlastností mají následující vlastnosti:
- description – (Volitelné) Řetězec popisující, k čemu se vlastnost používá.
- required - (Volitelné) Logická hodnota, která pokud je pravda, znamená to, že vlastnost je vyžadována pro všechny příspěvky tohoto typu.
- type – typ hodnoty, kterou může mít vlastnost, což může být řetězec, identifikátor URI, guid, logická hodnota, celé číslo, double, dateTime, pole nebo objekt.
Další informace najdete v přehledu modelu přispívání.
Odkazování na příspěvky a typy
Pomocí jedinečných identifikátorů můžete odkazovat na příspěvky a typy příspěvků. Odkazové typy s type
vlastností a odkazovat na další příspěvky s targets
vlastností.
- Úplný odkaz na příspěvek obsahuje identifikátor vydavatele, identifikátor rozšíření a identifikátor příspěvku/typu oddělený tečkou (.). Je například
ms.vss-web.hub
úplný identifikátor příspěvku s identifikátorem "hub" v rozšíření "vss-web" publikovaném vydavatelem "ms" (Microsoft). - Odkazy na relativní příspěvek mohou být použity v manifestu rozšíření pro odkaz na příspěvek na jiný příspěvek nebo typ příspěvku v rámci stejného rozšíření. V tomto případě nejsou zahrnuty identifikátory vydavatele a rozšíření a identifikátor je tečka (.) následovaný identifikátorem příspěvku. Například ".hub" se může použít v rámci rozšíření "vss-web", které jsme zmínili dříve jako zástupce pro ms.vss-web.hub.
Cílení příspěvků
Některé příspěvky fungují jako kontejnery, na které cílí jiné příspěvky.
- Příspěvky centra můžou cílit na skupiny center. Při vykreslení stránky webové uživatelské rozhraní zobrazí všechny příspěvky centra, které cílí na vybranou skupinu rozbočovačů. Skupiny centra cílí na kolekci skupin rozbočovačů, která definuje sadu skupin rozbočovačů, které se zobrazují v dané navigační oblasti, například stránky pro správu na úrovni projektu.
- Různé typy příspěvků můžou cílit na nabídky: akce, akce hypertextového odkazu a poskytovatel akcí. Akce a akce hypertextového odkazu poskytují položky s jednou položkou nabídky. Zprostředkovatel akcí může poskytovat více dynamických položek nabídky. U dané nabídky se položky agregují napříč všemi příspěvky (z jakéhokoli z těchto typů), které cílí na daný příspěvek nabídky.
Přidání ikony centra
Informace o přidání ikony do centra najdete v doprovodných materiálech k ikonám centra.
Podporované služby odznáček
Marketplace podporuje pouze odznáčky z následujících důvěryhodných služeb:
- 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/
Poznámka:
Nahraďte "vsmarketplacebadge.apphb.com" za "vsmarketplacebadges.dev".
Pokud chcete zobrazit odznáček z jiné služby, obraťte se na zákaznickou podporu v komunitě vývojářů.
Příklad manifestu
Následující rozšíření přispívá k akci dokončené místní nabídky sestavení a centra do skupiny centra sestavení:
{
"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"
}
}
]
}