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

Tyto vlastnosti jsou povinné:

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.21.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 Plansa Azure Artifacts.

Poznámky:
    – Pokud publikujete rozšíření prostřednictvím kódu programu, použijte verzi >=0.6.3 tfx-cli.
    – 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 zákazníci TFS získávají vaše rozšíření přes Visual Studio Marketplace (ne místní galerii) v připojeném kontextu, použijte kategorie, které byly dříve uvedeny.
      – 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
Obory Pole oborů autorizace (řetězců) uvádějící oprávnění vyžadovaná vaším rozšířením. Označuje například, vso.workvs.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 timeratd.
Screenshoty 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.
Úložiš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čky 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

Karty

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 Audit Toky (čtení) 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.
server Připojení vso.connected_server server Připojení 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:

změna oboru

Správce pak může zkontrolovat a autorizovat novou sadu oborů:

dialogové okno scope-change-dialog

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 Services
  • Microsoft.TeamFoundation.Server: Nainstaluje se na Azure DevOps Server.
  • Microsoft.VisualStudio.Services: nainstaluje do obou. Zástupce pro Microsoft.VisualStudio.Services.Cloud a Microsoft.TeamFoundation.Server verzi [14.2,)

Podporované identifikátory pro integrace:

  • Microsoft.VisualStudio.Services.Cloud.Integration: Integrace se službou Azure DevOps Services
  • Microsoft.TeamFoundation.Server.Integration: integrace s Azure DevOps Serverem
  • Microsoft.VisualStudio.Services.Integration: integruje se s oběma. Zkratka pro Microsoft.VisualStudio.Services.Cloud.Integration a Microsoft.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:

  1. Microsoft.VisualStudio.Services.Cloud
  2. Microsoft.TeamFoundation.ServerVerze: [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:

  1. Microsoft.VisualStudio.Services.Cloud.Integration
  2. Microsoft.TeamFoundation.Server.IntegrationVerze: [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 a environment/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, contributiona contributionType 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 vsmarketplace@microsoft.comse na .

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