Verwijzing naar extensiemanifest
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Elke extensie heeft een JSON-manifestbestand dat basisinformatie over de extensie definieert. Het bestand definieert ook hoe het de ervaring kan uitbreiden en verbeteren. In dit artikel leest u hoe u een manifest maakt voor uw extensie naar Azure DevOps.
Tip
Bekijk onze nieuwste documentatie over uitbreidingsontwikkeling met behulp van de Azure DevOps Extension SDK.
Maak een bestand met de naam vss-extension.json
in de hoofdmap van de extensiemap. Dit bestand bevat vereiste kenmerken, zoals de id van de extensie en de installatiedoelen, waar het kan worden uitgevoerd. Het definieert ook de bijdragen die door uw extensie worden gedaan.
Zie het volgende voorbeeld van een typisch manifest:
{
"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"
}
]
}
Zie voor meer informatie over invoer ...
Vereiste kenmerken
Deze eigenschappen zijn vereist:
Eigenschappen | Beschrijving | Opmerkingen |
---|---|---|
manifestVersion | Een getal dat overeenkomt met de versie van de manifestindeling. | Moet 1 zijn. |
Id | De id van de extensie. | De id is een tekenreeks die uniek moet zijn tussen extensies van dezelfde uitgever. Het moet beginnen met een alfabetisch of numeriek teken en 'A' tot en met Z, 'a' tot en met 'z', '0' tot en met '9' en '-' (afbreekstreepje). Voorbeeld: sample-extension . |
version | Een tekenreeks die de versie van een extensie opgeeft. | Moet de indeling major.minor.patch hebben, bijvoorbeeld 0.1.2 of 1.0.0 . U kunt ook een vierde getal toevoegen voor de volgende notatie: 0.1.2.3 |
name | Een korte, door mensen leesbare naam van de extensie. Beperkt tot 200 tekens. | Voorbeeld: "Fabrikam Agile Board Extension" . |
uitgever | De id van de uitgever. | Deze id moet overeenkomen met de id waaronder de extensie wordt gepubliceerd. Zie Een uitgever maken en beheren. |
Categorieën | Matrix van tekenreeksen die de categorieën vertegenwoordigen waartoe uw extensie behoort. Er moet ten minste één categorie worden opgegeven en er is geen limiet voor het aantal categorieën dat u kunt opnemen. | Geldige waarden: Azure Repos , Azure Boards , Azure Pipelines , , Azure Test Plans en Azure Artifacts .Opmerkingen:
- Als u de extensie Azure DevOps-extensietaken gebruikt om te publiceren, moet u ervoor zorgen dat de versie = 1.2.8 is >. Mogelijk moet u de extensie-update goedkeuren vanwege recente wijzigingen in het bereik. - De eerder genoemde categorieën zijn systeemeigen aanwezig in Visual Studio Marketplace en Azure DevOps Server 2019 en hoger. Voor extensies die gericht zijn op eerdere versies van TFS:
- Als u de extensie rechtstreeks gaat delen (dus niet via Visual Studio Marketplace) met een klant die TFS <=2018 gebruikt, gebruikt u in plaats daarvan de volgende categorieën: Code, Plannen en bijhouden, Bouwen en vrijgeven, Testen, Samenwerken en integreren. Als u zowel via Visual Studio Marketplace als rechtstreeks met een TFS <= 2018-klant wilt delen, moet u twee uitbreidingspakketten hebben. |
Doelstellingen | De producten en services die worden ondersteund door uw integratie of extensie. Zie installatiedoelen voor meer informatie. | Een matrix met objecten, waarbij elk object een id veld bevat dat een van de volgende opties aangeeft:
Microsoft.VisualStudio.Services (extensies die werken met Azure DevOps of TFS),Microsoft.TeamFoundation.Server - (extensie die werkt met TFS),Microsoft.VisualStudio.Services.Integration - (integraties die werken met Azure DevOps of TFS), - Microsoft.TeamFoundation.Server.Integration (integraties die werken met TFS) |
Voorbeelden van vereiste kenmerken
{
"manifestVersion": 1,
"id": "tools",
"version": "0.1.0",
"name": "Fabrikam Tools",
"publisher": "fabrikam",
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
]
}
Optionele kenmerken
Runtimekenmerken
Eigenschappen | Beschrijving | Opmerkingen |
---|---|---|
Scopes | Een matrix met autorisatiebereiken (tekenreeksen) met machtigingen die zijn vereist voor uw extensie. | En vs.code_write geeft bijvoorbeeld vso.work aan dat uw extensie alleen-lezentoegang nodig heeft tot werkitems en lees-/schrijftoegang tot broncode (en gerelateerde resource). Bereiken worden aan de gebruiker gepresenteerd bij het installeren van uw extensie. Zie de volledige lijst met bereiken voor meer informatie. |
Eisen | Een matrix met vereisten (tekenreeksen) met de mogelijkheden die vereist zijn voor uw extensie. | Geeft bijvoorbeeld api-version/3.0 aan dat uw extensie gebruikmaakt van api's van versie 3.0 en dus niet kan worden uitgevoerd in oudere producten die deze versie niet ondersteunen. Zie de volledige lijst met eisen voor meer informatie. |
baseURI | (Optioneel) basis-URL voor alle relatieve URL's die zijn opgegeven door de bijdragen van de extensie. | Voorbeeld: https://myapp.com/{{account.name}}/ . Deze eigenschap moet leeg blijven als de inhoud van uw extensie is verpakt met uw extensie. |
Bijdragen | Een matrix met bijdragen aan het systeem. | |
contributionTypes | Een matrix met bijdragetypen die zijn gedefinieerd door de extensie |
{
"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"
}
}
]
}
Detectiekenmerken
Deze optionele eigenschappen helpen gebruikers bij het detecteren en leren van uw extensie:
Eigenschappen | Beschrijving | Opmerkingen |
---|---|---|
beschrijving | Een paar zinnen met een beschrijving van de extensies. Beperkt tot 200 tekens. | De beschrijving moet de 'elevator pitch' van uw extensie zijn: een paar regels om uw extensie in marketplace te beschrijven en ervoor te zorgen dat personen deze willen installeren. Zie het onderstaande voorbeeld |
Pictogrammen | Woordenlijst met pictogrammen die de extensie vertegenwoordigen. | Geldige sleutels: default (128x128 pixels) van het type BMP, GIF, EXIF, JPG, PNG en TIFF. Andere sleutels, zoals large (512x512 pixels), kunnen in de toekomst worden ondersteund. De waarde van elke sleutel is het pad naar het pictogrambestand in de extensie |
tags | Matrix van tekenreekstags om gebruikers te helpen uw extensie te vinden. | Voorbeelden: agile , project management , task timer enzovoort. |
schermopnamen | Matrix met afbeeldingen die niet in uw inhoud kunnen worden opgenomen. | Schermafbeeldingen zijn waardevoller wanneer deze worden weergegeven in uw inhoud en moeten daar worden gebruikt om een pagina met marktdetails van kwaliteit te maken voor uw extensie. Gebruik schermopnamen voor minder belangrijke afbeeldingen die niet in uw inhoud worden weergegeven. Elke afbeelding moet 1366x768 pixels zijn. Het path pad naar het bestand in de extensie is het pad van elk item. |
tevreden | Woordenlijst met inhoudsbestanden die uw extensie beschrijven voor gebruikers. | Elke extensie moet solide inhoud bevatten. Dit is hoe u gebruikers laat zien wat uw extensie kan doen. Maak het uitgebreid, verbruikbaar en neem waar nodig schermopnamen op. Neem een overview.md bestand op als basisinhoudsstuk. Voor elk bestand wordt ervan uitgegaan dat het een Markdown-indeling met gitHub Flavored heeft. Het path pad naar het Markdown-bestand in de extensie is het pad van elk item. Geldige sleutels: details . Andere sleutels kunnen in de toekomst worden ondersteund. |
koppelingen | Woordenlijst met koppelingen waarmee gebruikers meer te weten komen over uw extensie, ondersteuning krijgen en verplaatsen. | Geldige sleutels: getstarted - eerste stappen, het instellen of gebruiken. learn - diepere inhoud om gebruikers te helpen uw extensie of service beter te begrijpen. license - gebruiksrechtovereenkomst voor eindgebruikers. privacypolicy - privacybeleid voor een uitbreiding. support - hulp en ondersteuning voor een extensie. De waarde van elke sleutel is een object met een uri veld, de absolute URL van de koppeling |
opslagplaats | Woordenlijst met eigenschappen die de broncodeopslagplaats voor de extensie beschrijven | Geldige sleutels: type - Type opslagplaats. Voorbeeld: git. uri - Absolute URL van de opslagplaats. |
Badges | Matrix van koppelingen naar externe metagegevensbadges zoals TravisCI, Appveyor, enzovoort, van de goedgekeurde badgesites | Geldige sleutels: href - Koppel de gebruiker naar wanneer u de badge selecteert. uri - De absolute URL van de badgeafbeelding die moet worden weergegeven. description - Beschrijving van de badge, die bij de muisaanwijzer moet worden weergegeven. |
Branding | Woordenlijst van merkgerelateerde eigenschappen. | Geldige sleutels: color - primaire kleur van de extensie of uitgever; kan een hex (#ff00ff), RGB (rgb(100.200,50)) of ondersteunde HTML-kleurnamen (blauw) zijn. theme - vormt een aanvulling op de kleur; gebruik donker voor donkere huisstijlkleuren of licht voor lichtere huisstijlkleuren. |
Een extensie openbaar markeren
Standaard zijn alle extensies in Azure DevOps Marketplace privé. Ze zijn alleen zichtbaar voor de uitgever en accounts die door de uitgever worden gedeeld. Als uw uitgever is geverifieerd, kunt u uw extensie openbaar maken door de Public
vlag in te stellen in het extensiemanifest:
{
"galleryFlags": [
"Public"
]
}
Of:
{
"public": true
}
Zie Package/Publish/Install voor meer informatie.
Een extensie markeren als preview-versie
Als uw extensie gereed is voor gebruikers in Marketplace om te proberen, maar u nog een aantal bugs hebt of een functie toevoegt, kunt u deze markeren als preview
:
{
"galleryFlags": [
"Preview"
]
}
Een extensie markeren als betaalde preview
Als u van plan bent om uw extensie op marketplace te verkopen, markeert u deze als betaalde preview. Een extensie die als gratis is gemarkeerd, kan niet worden gewijzigd in betaald.
{
"galleryFlags": [
"Paid",
"Preview"
]
}
Een extensie markeren als betaald
Als u uw extensie op marketplace wilt verkopen, kunt u deze markeren met de Paid
vlag en __BYOLENFORCED
tag (begint met twee onderstrepingstekens):
{
"galleryFlags": [
"Paid"
],
"tags": [
"__BYOLENFORCED"
]
}
Zowel de vlag als __BYOLENFORCED
de Paid
tag moeten aanwezig zijn om een extensie te markeren als betaald in Marketplace. Bring-Your-Own-License (BYOL) betekent dat de uitgever van de extensie het facturerings- en licentiemechanisme biedt voor de extensie, omdat deze niet wordt geleverd door Microsoft voor Azure DevOps-extensies. Alle betaalde extensies zijn vereist voor het definiëren van privacybeleid, ondersteuningsbeleid en een gebruiksrechtovereenkomst voor eindgebruikers. Uitgevers moeten als volgt inhoud opgeven voor het tabblad Prijzen in Marketplace:
{
"content": {
"details": {
"path": "overview.md"
},
"pricing": {
"path": "pricing.md"
}
}
}
U moet ook een nieuwe sectie in uw extensiemanifest toevoegen om betaalde licenties te overschrijven. In de toekomst verwijderen we de betaalde licentiecontrole en hoeven we de overschrijving niet meer te overschrijven. Controleer voorlopig of uw extensie wordt weergegeven zoals verwacht. Elke onderdrukking bestaat uit een 'id' en een 'gedrag'. Zorg ervoor dat de id overeenkomt met de id van de bijdragen die in het manifest zijn gedefinieerd.
"licensing": {
"overrides": [
{ "id": "my-hub", "behavior": " AlwaysInclude" }
]
}
Als uw betaalde BYOL-extensie een proefperiode biedt (dit wordt aangeraden), kunt u de duur van de proefversie in dagen opgeven:
{
"galleryproperties": {
"trialDays": "30"
}
}
Notitie
Als u Zich wilt richten op Azure DevOps, maar geen downloadoptie voor uw extensie wilt weergeven, voegt u de __DoNotDownload
tag (begint met twee onderstrepingstekens) toe aan het extensiemanifest.
Als u een uitbreiding verplaatst van de eerder aangeboden facturering en licenties van Microsoft naar het BYOL-model, neemt u contact met ons op voor geschikte stappen.
Voorbeeld van meer eigenschappen
{
"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"
}
]
}
Voorbeeld van pagina Met details
- 1 - beschrijving
- 2 - pictogram
- 3 - categorieën
- 4 - schermopnamen
- 5 - inhoud (details)
- 6 - koppelingen
- 7 - huisstijl
Q & A voor Marketplace - Eigenschap CustomerQnASupport
Alle extensies in Visual Studio Marketplace hebben een sectie Vragen en Antwoorden (Q &A) om een-op-een openbare gesprekken tussen extensiegebruikers en uitgevers toe te staan. Uitgevers kunnen kiezen tussen vragen en antwoorden in Marketplace (Q&A), GitHub-problemen of een aangepaste Q&A-URL. U kunt Q&A uitschakelen in Marketplace met behulp van de eigenschap CustomerQnASupport in het manifest.
Standaardervaring (er zijn geen wijzigingen in het manifest vereist)
- Voor extensies met een GitHub-opslagplaats stuurt Marketplace gebruikers in de Q&A-sectie om naar de bijbehorende GitHub-problemen.
- Voor extensies zonder een GitHub-opslagplaats is Marketplace Q&A ingeschakeld.
Gebruik voor een andere ervaring dan een van de standaardopties de eigenschap CustomerQnASupport in het manifest.
{
"CustomerQnASupport": {
"enablemarketplaceqna": true,
"url": "http://uservoice.visualstudio.com"
}
}
Eigenschappen
Eigenschappen voor de sectie Q & A-ondersteuning van klanten:
- enablemarketplaceqna - Booleaanse waarde, ingesteld op
true
marketplace of aangepastE Q&A; onwaar voor het uitschakelen van Q&A - url - tekenreeks, URL voor aangepaste Q&A
Voorbeelden van het gebruik van Q &A-ondersteuning
Voorbeeld: Extensie met aangepaste Q &A
{
"CustomerQnASupport": {
"enablemarketplaceqna":"true",
"url": "http://uservoice.visualstudio.com"
}
}
Voorbeeld: Extensie met GitHub-opslagplaats, maar marketplace-Q &A gebruiken in plaats van GitHub-problemen
{
"CustomerQnASupport": {
"enablemarketplaceqna":"true"
}
}
Voorbeeld: Extensie uitschakelen Q &A-sectie
{
"CustomerQnASupport": {
"enablemarketplaceqna":"false"
}
}
Bereiken
In uw extensie kunt u een of meer bereiken definiëren. Deze bereiken bepalen welke resources uw extensie kan openen en welke bewerkingen voor deze resources mogen worden uitgevoerd. De bereiken die u in uw extensiemanifest opgeeft, zijn de bereiken die zijn ingesteld op toegangstokens die zijn uitgegeven aan uw extensie. Zie Auth en beveiliging voor meer informatie.
Als er geen bereiken zijn opgegeven, krijgen extensies alleen toegang tot gebruikersprofiel- en extensiegegevens.
Ondersteunde bereiken
Categorie | Bereik | Name | Beschrijving | Neemt over van |
---|---|---|---|---|
Geavanceerde beveiliging | vso.advsec |
AdvancedSecurity (lezen) | Verleent de mogelijkheid om waarschuwingen, resultaatexemplaren, analyseresultatenexemplaren te lezen. | |
vso.advsec_write |
AdvancedSecurity (lezen en schrijven) | Verleent de mogelijkheid om analyses in sarif te uploaden | vso.advsec |
|
vso.advsec_manage |
AdvancedSecurity (lezen, schrijven en beheren) | Verleent de mogelijkheid om analyses in sarif te uploaden | vso.advsec_write |
|
Agentpools | vso.agentpools |
Agentpools (lezen) | Biedt de mogelijkheid om taken, pools, wachtrijen, agents en momenteel uitgevoerde of onlangs voltooide taken voor agents weer te geven. | |
vso.agentpools_manage |
Agentpools (lezen, beheren) | Biedt de mogelijkheid om pools, wachtrijen en agents te beheren. | vso.agentpools |
|
vso.environment_manage |
Omgeving (lezen, beheren) | Biedt de mogelijkheid om pools, wachtrijen, agents en omgevingen te beheren. | vso.agentpools_manage |
|
Analyse | vso.analytics |
Analyse (lezen) | Verleent de mogelijkheid om query's uit te voeren op analysegegevens. | |
Controle | vso.auditlog |
Auditlogboek (lezen) | Verleent de mogelijkheid om het controlelogboek te lezen voor gebruikers. | |
vso.auditstreams_manage |
Streams controleren (lezen) | Verleent de mogelijkheid om controlestromen voor gebruikers te beheren. | vso.auditlog |
|
Bouwen | vso.build |
Bouwen (lezen) | Verleent de mogelijkheid om toegang te krijgen tot buildartefacten, waaronder buildresultaten, definities en aanvragen, en de mogelijkheid om meldingen te ontvangen over build-gebeurtenissen via servicehook. | vso.hooks_write |
vso.build_execute |
Bouwen (lezen en uitvoeren) | Biedt de mogelijkheid om toegang te krijgen tot buildartefacten, waaronder buildresultaten, definities en aanvragen, en de mogelijkheid om een build-, update-build-eigenschappen en de mogelijkheid om meldingen te ontvangen over build-gebeurtenissen via servicehook. | vso.build |
|
Code | vso.code |
Code (lezen) | Biedt de mogelijkheid om broncode en metagegevens te lezen over doorvoeringen, wijzigingensets, vertakkingen en andere artefacten voor versiebeheer. Biedt ook de mogelijkheid om code te zoeken en meldingen te ontvangen over versiebeheer-gebeurtenissen via servicehook. | vso.hooks_write |
vso.code_write |
Code (lezen en schrijven) | Biedt de mogelijkheid om broncode te lezen, bij te werken en te verwijderen, metagegevens te openen over doorvoeringen, wijzigingensets, vertakkingen en andere artefacten voor versiebeheer. Biedt ook de mogelijkheid om pull-aanvragen en codebeoordelingen te maken en te beheren en meldingen te ontvangen over versiebeheer-gebeurtenissen via servicehook. | vso.code |
|
vso.code_manage |
Code (lezen, schrijven en beheren) | Biedt de mogelijkheid om broncode te lezen, bij te werken en te verwijderen, metagegevens te openen over doorvoeringen, wijzigingensets, vertakkingen en andere artefacten voor versiebeheer. Biedt ook de mogelijkheid om codeopslagplaatsen te maken en te beheren, pull-aanvragen en codebeoordelingen te maken en te beheren en meldingen te ontvangen over versiebeheer-gebeurtenissen via servicehook. | vso.code_write |
|
vso.code_full |
Code (volledig) | Verleent volledige toegang tot broncode, metagegevens over doorvoeringen, wijzigingensets, vertakkingen en andere artefacten voor versiebeheer. Biedt ook de mogelijkheid om codeopslagplaatsen te maken en te beheren, pull-aanvragen en codebeoordelingen te maken en te beheren en meldingen te ontvangen over versiebeheer-gebeurtenissen via servicehook. Bevat ook beperkte ondersteuning voor CLIENT OM-API's. | vso.code_manage |
|
vso.code_status |
Code (status) | Verleent de mogelijkheid om doorvoer- en pull-aanvraagstatus te lezen en schrijven. | ||
Verbonden server | vso.connected_server |
Verbonden server | Biedt de mogelijkheid om toegang te krijgen tot eindpunten die nodig zijn vanaf een on-premises verbonden server. | |
Rechten | vso.entitlements |
Rechten (lezen) | Biedt alleen-lezentoegang tot eindpunt voor licentierechten om accountrechten op te halen. | |
vso.memberentitlementmanagement |
MemberEntitlement Management (lezen) | Verleent de mogelijkheid om gebruikers, hun licenties en projecten en extensies te lezen die ze kunnen openen. | ||
vso.memberentitlementmanagement_write |
MemberEntitlement Management (schrijven) | Verleent de mogelijkheid om gebruikers, hun licenties en projecten en extensies te beheren die ze kunnen openen. | vso.memberentitlementmanagement |
|
Extensies | vso.extension |
Extensies (lezen) | Verleent de mogelijkheid om geïnstalleerde extensies te lezen. | vso.profile |
vso.extension_manage |
Extensies (lezen en beheren) | Verleent de mogelijkheid om andere beheeracties te installeren, te verwijderen en uit te voeren op geïnstalleerde extensies. | vso.extension |
|
vso.extension.data |
Extensiegegevens (lezen) | Biedt de mogelijkheid om gegevens (instellingen en documenten) te lezen die zijn opgeslagen door geïnstalleerde extensies. | vso.profile |
|
vso.extension.data_write |
Extensiegegevens (lezen en schrijven) | Biedt de mogelijkheid om gegevens (instellingen en documenten) te lezen en schrijven die zijn opgeslagen door geïnstalleerde extensies. | vso.extension.data |
|
Github-verbindingen | vso.githubconnections |
GitHub Connections (lezen) | Biedt de mogelijkheid om GitHub-verbindingen en GitHub-opslagplaatsgegevens te lezen. | |
vso.githubconnections_manage |
GitHub Connections (lezen en beheren) | Biedt de mogelijkheid om GitHub-verbindingen en GitHub-opslagplaatsgegevens te lezen en te beheren | vso.githubconnections |
|
Grafiek en identiteit | vso.graph |
Grafiek (lezen) | Verleent de mogelijkheid om informatie over gebruikers-, groep-, bereik- en groepslidmaatschap te lezen. | |
vso.graph_manage |
Grafiek (beheren) | Biedt de mogelijkheid om gebruikers-, groep-, bereik- en groepslidmaatschapsgegevens te lezen en gebruikers, groepen en groepslidmaatschappen toe te voegen en groepslidmaatschappen te beheren. | vso.graph |
|
vso.identity |
Identiteit (lezen) | Verleent de mogelijkheid om identiteiten en groepen te lezen. | ||
vso.identity_manage |
Identiteit (beheren) | Biedt de mogelijkheid om identiteiten en groepen te lezen, schrijven en beheren. | vso.identity |
|
Machinegroep | vso.machinegroup_manage |
Implementatiegroep (lezen, beheren) | Biedt de mogelijkheid om implementatiegroep- en agentgroepen te beheren. | vso.agentpools_manage |
Marketplace | vso.gallery |
Marketplace | Verleent leestoegang tot openbare en persoonlijke items en uitgevers. | vso.profile |
vso.gallery_acquire |
Marketplace (verkrijgen) | Verleent leestoegang en de mogelijkheid om items te verkrijgen. | vso.gallery |
|
vso.gallery_publish |
Marketplace (publiceren) | Verleent leestoegang en de mogelijkheid om items te uploaden, bij te werken en te delen. | vso.gallery |
|
vso.gallery_manage |
Marketplace (beheren) | Verleent leestoegang en de mogelijkheid om items en uitgevers te publiceren en te beheren. | vso.gallery_publish |
|
Meldingen | vso.notification |
Meldingen (gelezen) | Biedt leestoegang tot abonnementen en gebeurtenismetagegevens, inclusief filterbare veldwaarden. | vso.profile |
vso.notification_write |
Meldingen (schrijven) | Biedt lees- en schrijftoegang tot abonnementen en leestoegang tot metagegevens van gebeurtenissen, inclusief filterbare veldwaarden. | vso.notification |
|
vso.notification_manage |
Meldingen (beheren) | Biedt lees-, schrijf- en beheertoegang tot abonnementen en leestoegang tot metagegevens van gebeurtenissen, inclusief filterbare veldwaarden. | vso.notification_write |
|
vso.notification_diagnostics |
Meldingen (diagnostische gegevens) | Biedt toegang tot diagnostische logboeken met betrekking tot meldingen en biedt de mogelijkheid om diagnostische gegevens in te schakelen voor afzonderlijke abonnementen. | vso.notification |
|
Verpakking | vso.packaging |
Verpakking (gelezen) | Verleent de mogelijkheid om feeds en pakketten te lezen. | vso.profile |
vso.packaging_write |
Verpakking (lezen en schrijven) | Biedt de mogelijkheid om feeds en pakketten te maken en te lezen. | vso.packaging |
|
vso.packaging_manage |
Verpakking (lezen, schrijven en beheren) | Biedt de mogelijkheid om feeds en pakketten te maken, lezen, bij te werken en te verwijderen. | vso.packaging_write |
|
Pijplijnbronnen | vso.pipelineresources_use |
Pijplijnbronnen (gebruik) | Verleent de mogelijkheid om de aanvraag van een pijplijn goed te keuren voor het gebruik van een beveiligde resource: agentgroep, omgeving, wachtrij, opslagplaats, beveiligde bestanden, serviceverbinding en variabele groep. | |
vso.pipelineresources_manage |
Pijplijnbronnen (gebruiken en beheren) | Verleent de mogelijkheid om een beveiligde resource of een pijplijnaanvraag te beheren voor het gebruik van een beveiligde resource: agentgroep, omgeving, wachtrij, opslagplaats, beveiligde bestanden, serviceverbinding en variabele groep. | vso.pipelineresources_manage |
|
Project en team | vso.project |
Project en team (gelezen) | Verleent de mogelijkheid om projecten en teams te lezen. | |
vso.project_write |
Project en team (lezen en schrijven) | Biedt de mogelijkheid om projecten en teams te lezen en bij te werken. | vso.project |
|
vso.project_manage |
Project en team (lezen, schrijven en beheren) | Biedt de mogelijkheid om projecten en teams te maken, lezen, bijwerken en verwijderen. | vso.project_write |
|
Release | vso.release |
Release (lezen) | Verleent de mogelijkheid om release-artefacten te lezen, waaronder releases, releasedefinities en releaseomgeving. | vso.profile |
vso.release_execute |
Release (lezen, schrijven en uitvoeren) | Biedt de mogelijkheid om releaseartefacten te lezen en bij te werken, waaronder releases, releasedefinities en releaseomgeving, en de mogelijkheid om een nieuwe release in de wachtrij te plaatsen. | vso.release |
|
vso.release_manage |
Release (lezen, schrijven, uitvoeren en beheren) | Verleent de mogelijkheid om releaseartefacten te lezen, bij te werken en te verwijderen, waaronder releases, releasedefinities en releaseomgeving, en de mogelijkheid om een nieuwe release in de wachtrij te plaatsen en goed te keuren. | vso.release_manage |
|
Beveiligde bestanden | vso.securefiles_read |
Beveiligde bestanden (lezen) | Biedt de mogelijkheid om beveiligde bestanden te lezen. | |
vso.securefiles_write |
Beveiligde bestanden (lezen, maken) | Biedt de mogelijkheid om beveiligde bestanden te lezen en te maken. | vso.securefiles_read |
|
vso.securefiles_manage |
Beveiligde bestanden (lezen, maken en beheren) | Biedt de mogelijkheid om beveiligde bestanden te lezen, te maken en te beheren. | vso.securefiles_write |
|
Beveiliging | vso.security_manage |
Beveiliging (beheren) | Verleent de mogelijkheid om beveiligingsmachtigingen te lezen, schrijven en beheren. | |
Serviceverbindingen | vso.serviceendpoint |
Service-eindpunten (lezen) | Verleent de mogelijkheid om service-eindpunten te lezen. | vso.profile |
vso.serviceendpoint_query |
Service-eindpunten (lezen en query's) | Biedt de mogelijkheid om service-eindpunten te lezen en op te vragen. | vso.serviceendpoint |
|
vso.serviceendpoint_manage |
Service-eindpunten (lezen, query's uitvoeren en beheren) | Biedt de mogelijkheid om service-eindpunten te lezen, op te vragen en te beheren. | vso.serviceendpoint_query |
|
Servicehook | vso.hooks |
Servicehook (gelezen) | Verleent de mogelijkheid om abonnementen en metagegevens van servicehook te lezen, waaronder ondersteunde gebeurtenissen, consumenten en acties. (Niet meer openbaar.) | vso.profile |
vso.hooks_write |
Servicehook (lezen en schrijven) | Biedt de mogelijkheid om abonnementen voor servicehook te maken en bij te werken en metagegevens te lezen, waaronder ondersteunde gebeurtenissen, consumenten en acties. (Niet meer openbaar.) | vso.hooks |
|
vso.hooks_interact |
Servicehook (interactie) | Verleent de mogelijkheid om te communiceren en acties uit te voeren op gebeurtenissen die zijn ontvangen via servicehook. (Niet meer openbaar.) | vso.profile |
|
Instellingen | vso.settings |
Instellingen (lezen) | Verleent de mogelijkheid om instellingen te lezen. | |
vso.settings_write |
Instellingen (lezen en schrijven) | Verleent de mogelijkheid om instellingen te maken en te lezen. | ||
Symbolen | vso.symbols |
Symbolen (lezen) | Verleent de mogelijkheid om symbolen te lezen. | vso.profile |
vso.symbols_write |
Symbolen (lezen en schrijven) | Verleent de mogelijkheid om symbolen te lezen en schrijven. | vso.symbols |
|
vso.symbols_manage |
Symbolen (lezen, schrijven en beheren) | Verleent de mogelijkheid om symbolen te lezen, schrijven en beheren. | vso.symbols_write |
|
Taakgroepen | vso.taskgroups_read |
Taakgroepen (lezen) | Verleent de mogelijkheid om taakgroepen te lezen. | |
vso.taskgroups_write |
Taakgroepen (lezen, maken) | Verleent de mogelijkheid om taakgroepen te lezen en te maken. | vso.taskgroups_read |
|
vso.taskgroups_manage |
Taakgroepen (lezen, maken en beheren) | Verleent de mogelijkheid om taskgroups te lezen, te maken en te beheren. | vso.taskgroups_write |
|
Teamdashboard | vso.dashboards |
Teamdashboards (lezen) | Biedt de mogelijkheid om teamdashboardgegevens te lezen. | |
vso.dashboards_manage |
Teamdashboards (beheren) | Verleent de mogelijkheid om teamdashboardgegevens te beheren. | vso.dashboards |
|
Testbeheer | vso.test |
Testbeheer (lezen) | Verleent de mogelijkheid om testplannen, cases, resultaten en andere testbeheergerelateerde artefacten te lezen. | vso.profile |
vso.test_write |
Testbeheer (lezen en schrijven) | Verleent de mogelijkheid om testplannen, cases, resultaten en andere testbeheergerelateerde artefacten te lezen, te maken en bij te werken. | vso.test |
|
Draden | vso.threads_full |
PR-threads | Verleent de mogelijkheid om threads met opmerkingen voor pull-aanvragen te lezen en schrijven. | |
Tokens | vso.tokens |
Gedelegeerde autorisatietokens | Verleent de mogelijkheid om gedelegeerde autorisatietokens te beheren aan gebruikers. | |
vso.tokenadministration |
Tokenbeheer | Verleent de mogelijkheid om bestaande tokens te beheren (weergeven en intrekken) aan organisatiebeheerders. | ||
Gebruikersprofiel | vso.profile |
Gebruikersprofiel (lezen) | Biedt de mogelijkheid om uw profiel, accounts, verzamelingen, projecten, teams en andere organisatieartefacten op het hoogste niveau te lezen. | |
vso.profile_write |
Gebruikersprofiel (schrijven) | Verleent de mogelijkheid om naar uw profiel te schrijven. | vso.profile |
|
Variabelegroepen | vso.variablegroups_read |
Variabelegroepen (lezen) | Hiermee verleent u de mogelijkheid om variabelegroepen te lezen. | |
vso.variablegroups_write |
Variabelegroepen (lezen, maken) | Verleent de mogelijkheid om variabele groepen te lezen en te maken. | vso.variablegroups_read |
|
vso.variablegroups_manage |
Variabelegroepen (lezen, maken en beheren) | Biedt de mogelijkheid om variabelengroepen te lezen, te maken en te beheren. | vso.variablegroups_write |
|
Wiki | vso.wiki |
Wiki (lezen) | Biedt de mogelijkheid om wiki's, wikipagina's en wikibijlagen te lezen. Biedt ook de mogelijkheid om wikipagina's te zoeken. | |
vso.wiki_write |
Wiki (lezen en schrijven) | Biedt de mogelijkheid om wiki's, wikipagina's en wikibijlagen te lezen, te maken en bij te werken. | vso.wiki |
|
Werkitems | vso.work |
Werkitems (gelezen) | Biedt de mogelijkheid om werkitems, query's, borden, gebieds- en iteratiepaden en andere metagegevens voor werkitems te lezen. Biedt ook de mogelijkheid om query's uit te voeren, werkitems te zoeken en meldingen te ontvangen over gebeurtenissen van werkitems via servicehook. | vso.hooks_write |
vso.work_write |
Werkitems (lezen en schrijven) | Biedt de mogelijkheid om werkitems en -query's te lezen, te maken en bij te werken, metagegevens van het bord bij te werken, gebieds- en iteratiepaden te volgen, andere metagegevens voor werkitems bij te houden, query's uit te voeren en meldingen te ontvangen over werkitems via servicehook. | vso.work |
|
vso.work_full |
Werkitems (volledig) | Verleent volledige toegang tot werkitems, query's, achterstanden, plannen en metagegevens voor het bijhouden van werkitems. Biedt ook de mogelijkheid om meldingen te ontvangen over gebeurtenissen van werkitems via servicehook. | vso.work_write |
|
Gebruikersimitatie | user_impersonation |
Gebruikersimitatie | Volledige toegang tot REST API's van Visual Studio Team Services. Vraag en/of toestemming voor dit bereik met voorzichtigheid omdat het zeer krachtig is! |
Het bereik van de gepubliceerde extensie wijzigen
U kunt het bereik van een gepubliceerde extensie wijzigen. Als u uw extensie eerder hebt geïnstalleerd (en de vorige set bereiken hebt geautoriseerd), moet u de nieuwe bereiken autoriseren voordat u een upgrade naar de nieuwste versie kunt uitvoeren.
In de sectie Actie vereist van de hub Extensie-instellingen ziet u een gebruiker die, indien van toepassing, geïnstalleerde extensies autorisatie vereisen:
Een beheerder kan vervolgens de nieuwe set bereiken controleren en autoriseren:
Installatiedoelen
Zoals de naam al aangeeft, definiëren installatiedoelen de producten en services waar u uw extensie kunt installeren. Microsoft.VisualStudio.Services
is het meest voorkomende installatiedoel en geeft aan dat de extensie kan worden geïnstalleerd in Azure DevOps.
De installatiedoelen voor een extensie of integratie worden opgegeven via het targets
veld in het manifest.
Ondersteunde id's voor extensies:
Microsoft.VisualStudio.Services.Cloud
: wordt geïnstalleerd in Azure DevOps ServicesMicrosoft.TeamFoundation.Server
: wordt geïnstalleerd in Azure DevOps ServerMicrosoft.VisualStudio.Services
: installeert in beide. Snelkoppeling voorMicrosoft.VisualStudio.Services.Cloud
enMicrosoft.TeamFoundation.Server
versie[14.2,)
Ondersteunde id's voor integraties:
Microsoft.VisualStudio.Services.Cloud.Integration
: integreert met Azure DevOps ServicesMicrosoft.TeamFoundation.Server.Integration
: integreert met Azure DevOps ServerMicrosoft.VisualStudio.Services.Integration
: integreert met beide. Snelkoppeling voorMicrosoft.VisualStudio.Services.Cloud.Integration
enMicrosoft.TeamFoundation.Server.Integration
Zie Uitbreidbaarheidspunten voor meer informatie.
Voorbeelden van installatiedoelen
Voorbeeld: Extensie die werkt met Azure DevOps
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
]
}
Voorbeeld: Extensie die alleen werkt met Azure DevOps Services
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Cloud"
}
]
}
Installatiedoelen kunnen ook worden gebruikt in het manifest van integraties. Bijvoorbeeld producten, apps of hulpprogramma's waarmee wordt gewerkt, maar die niet worden geïnstalleerd in Azure DevOps.
Voorbeeld: Integratie die werkt met Azure DevOps
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Integration"
}
]
}
Voorbeeld: Integratie die alleen werkt met Azure DevOps Server
{
"targets": [
{
"id": "Microsoft.TeamFoundation.Server.Integration"
}
]
}
Doelversies van de installatie
Sommige installatiedoel-id's, zoals Microsoft.TeamFoundation.Server
en Microsoft.TeamFoundation.Server.Integration
, ondersteunen een optioneel versiebereik. Dit optionele versiebereik verduidelijkt verder de ondersteunde releases van de extensie of integratie wordt ondersteund.
De versie- of versiebereik wordt opgegeven via het version
veld op het doelobject voor de installatie. Deze waarde kan een van de volgende zijn:
- Een specifieke versie, bijvoorbeeld:
15.0
(alleen 2017 RTM) - Een reeks ondersteunde versies, bijvoorbeeld:
[14.0)
(2015 RTM en hoger),[14.3,15.1]
(2015 Update 3 tot en met 2017 Update 1). Bereikwaarden worden verfijnd met behulp van:[
: minimale versie inclusief]
: maximale versie inclusief(
: minimale versie exclusief)
: exclusief maximale versie
Versienummers voor Azure DevOps Server:
Vrijgeven | Releases | Versie |
---|---|---|
2010 | Alle releases | 10.0 |
2012 | Alle releases | 11,0 |
2013 | RTM en updates | 12.0, 12.1, 12.2, 12.3, 12.4 |
2015 | RTM en updates | 14.0, 14.1, 14.2, 14.3 |
2017 | RTM en updates | 15.0, 15.1 |
2018 | RTM en updates | 16.0 |
2019 | RTM en updates | 17,0 |
2020 | RTM en updates | 18,0 |
Voorbeelden van versies
Voorbeeld: Extensie die werkt met Azure DevOps
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Cloud"
},
{
"id": "Microsoft.TeamFoundation.Server",
"version": "[15.0,)"
}
]
}
Snelkoppelingen
Microsoft.VisualStudio.Services
is een snelkoppeling voor Azure DevOps.
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
]
}
is gelijk aan:
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Cloud"
},
{
"id": "Microsoft.TeamFoundation.Server",
"version": "[14.2,)"
}
]
}
Installatiedoelen en -eisen gebruiken
Installatiedoelen en -eisen worden samen gebruikt om gebruikers te presenteren met een juiste weergave van de producten/services waarmee uw uitbreiding of integratie compatibel is. Als u bijvoorbeeld een installatiedoel opgeeft van Microsoft.VisualStudio.Services
een vraag naar api-version/3.0
middelen die de extensie gebruikt met Azure DevOps.
Tip
Zie de REST API-verwijzing voor meer informatie over REST API's.
Voorbeeld: Extensie die gebruikmaakt van api's van versie 3.0
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
],
"demands": [
"api-version/3.0"
]
}
Wordt omgezet in de volgende installatiedoelen:
Microsoft.VisualStudio.Services.Cloud
Microsoft.TeamFoundation.Server
Versie:[15.0,)
Voorbeeld: Integratie die gebruikmaakt van api's van versie 2.0
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Integration"
}
],
"demands": [
"api-version/2.0"
]
}
Wordt omgezet in de volgende installatiedoelen:
Microsoft.VisualStudio.Services.Cloud.Integration
Microsoft.TeamFoundation.Server.Integration
Versie:[14.0,)
Eisen
Met de vereisten kunt u mogelijkheden en andere functies opgeven die vereist zijn voor uw extensie. U kunt deze vereisten gebruiken om te beperken waar uw extensie kan worden gepubliceerd of geïnstalleerd.
Vereisten worden gebruikt door Visual Studio Marketplace om de producten en omgevingen te vermelden waarmee uw extensie compatibel is, zodat klanten kunnen begrijpen of uw extensie bijvoorbeeld werkt met hun versie van Azure DevOps.
Zie het volgende voorbeeld van hoe de vereisten worden opgegeven in het extensiemanifest.
{
"demands": [
"api-version/3.0",
"contribution/ms.vss-dashboards-web.widget-catalog"
]
}
In dit voorbeeld vereist de extensie versie 3.0 van de API's, wat betekent dat deze alleen kan worden geïnstalleerd in Azure DevOps. Ook moet de ms.vss-dashboards-web
extensie (en widget-catalog
de bijbehorende bijdrage) in de verzameling worden geïnstalleerd (en ingeschakeld) voordat uw extensie kan worden geïnstalleerd.
Ondersteunde vereisten
Type | Description | Gecontroleerd bij publiceren? | Gecontroleerd bij installatie? |
---|---|---|---|
environment/cloud |
Vereist uitvoering in een cloudomgeving | Ja | Ja |
environment/onprem |
Vereist dat deze wordt uitgevoerd in een on-premises omgeving | Ja | Ja |
api-version/{version} |
Vereist een specifieke API-versie (minimaal) | Nr. | Ja |
extension/{id} |
Vereist dat een specifieke extensie is geïnstalleerd/ingeschakeld | Nr. | Ja |
contribution/{id} |
Vereist dat een specifieke bijdrage beschikbaar is | Nr. | Ja |
contributionType/{id} |
Vereist dat een specifiek type bijdrage beschikbaar is | Nr. | Ja |
Notitie
- Gebruik
environment/cloud
enenvironment/onprem
alleen wanneer uw extensie topologie-gerelateerde vereisten heeft die in die specifieke omgeving moeten worden uitgevoerd. extension
,contribution
encontributionType
de eisen worden geëvalueerd tijdens de installatie en vereisen dat de opgegeven extensie al is geïnstalleerd en ingeschakeld in de organisatie/verzameling.
Bestanden
In files
de sectie wordt verwezen naar alle bestanden die u wilt opnemen in uw extensie. U kunt zowel mappen als afzonderlijke bestanden toevoegen:
{
"files": [
{
"path": "hello-world.html", "addressable": true
},
{
"path": "scripts", "addressable": true
},
{
"path": "images/logo.png", "addressable": true, "packagePath": "/"
}
]
}
Eigenschappen
Eigenschappen voor de sectie Bestanden:
- pad - Pad naar resource op schijf, die kan relatief zijn ten opzichte van uw hoofdmap.
- adresseerbaar – (optioneel) Ingesteld op true als u wilt dat uw bestand URL-adresseerbaar is. De standaardwaarde is onwaar.
- packagePath : (optioneel) Pad naar de resource binnen het pakket. Standaard ingesteld op het relatieve pad op schijf vanuit uw hoofdmap.
- contentType – (optioneel) MIME-type van het bestand. Standaard ingesteld op een schatting op basis van de bestandsextensie en besturingssysteeminstellingen.
- assetType – (optioneel) Geef de waarde op van het kenmerk Type van de assetvermelding in het VSIX-manifest. Kan ook een matrix van tekenreeksen zijn, in welk geval meerdere assetvermeldingen worden toegevoegd voor dit bestand. Standaard ingesteld op packagePath.
- lang – (optioneel) Taal van deze asset. Gelokaliseerde bestanden worden geleverd op basis van de header Accept-Language. Laat leeg om aan te geven dat dit bestand de standaardtaal (of terugval) heeft. Gelokaliseerde versies van hetzelfde bestand moeten hetzelfde assetType hebben.
Bijdragen
Elke bijdragevermelding heeft de volgende eigenschappen:
- id - Een referentie-id (tekenreeks) voor de bijdrage. Zorg ervoor dat elke bijdrage-id uniek is binnen een extensie. Zie verwijzingen naar bijdragen en typen.
- type : de id van het contributionType van deze bijdrage.
- description - (Optioneel) Een tekenreeks die beschrijft wat de bijdrage levert.
- doelen : een matrix met bijdrage-id's waarop de bijdrage is gericht (bijdragen). Zie Targeting-bijdragen.
- properties - (Optioneel) Een object dat eigenschappen bevat voor de bijdrage zoals gedefinieerd in het bijdragetype.
Zie het overzicht van het bijdragemodel voor meer informatie.
Bijdragetypen
Elke bijdragevermelding heeft de volgende eigenschappen:
- id - Een verwijzings-id (tekenreeks) voor het bijdragetype. Zorg ervoor dat elke bijdragetype-id uniek is binnen een extensie. Zie verwijzingen naar bijdragen en typen.
- name - De beschrijvende naam van het bijdragetype.
- description - (Optioneel) Een tekenreeks die meer details beschrijft waarvoor het bijdragetype is bedoeld.
- properties - (Optioneel) Een woordenlijst waarmee eigenschapsnamen worden toegewezen aan eigenschapsbeschrijvingen. Deze eigenschappen beschrijven de vereiste en optionele eigenschappen die bijdragen van dit type kunnen gebruiken.
Beschrijvingen van eigenschappen hebben de volgende eigenschappen:
- description - (Optioneel) Een tekenreeks die beschrijft waarvoor de eigenschap wordt gebruikt.
- required - (Optioneel) Een Booleaanse waarde, die indien waar aangeeft dat de eigenschap is vereist voor alle bijdragen van dit type.
- type : het type waarde dat de eigenschap kan hebben, wat een tekenreeks, uri, guid, booleaanse waarde, geheel getal, dubbele waarde, datum/tijd, matrix of object kan zijn.
Zie het overzicht van het bijdragemodel voor meer informatie.
Verwijzingen naar bijdragen en typen
Gebruik unieke id's om te verwijzen naar bijdragen en bijdragetypen. Verwijzingstypen met de type
eigenschap en verwijzen naar andere bijdragen met de targets
eigenschap.
- Een volledige bijdrageverwijzing bevat de uitgever-id, extensie-id en bijdrage/type-id, gescheiden door een punt (.). Is bijvoorbeeld
ms.vss-web.hub
de volledige id voor de bijdrage met de id 'hub' in de extensie 'vss-web' die is gepubliceerd door de uitgever 'ms' (Microsoft). - Relatieve bijdrageverwijzingen kunnen worden gebruikt in een uitbreidingsmanifest voor de verwijzing van een bijdrage naar een andere bijdrage of bijdragetype binnen diezelfde extensie. In dit geval zijn de uitgevers- en extensie-id's NIET opgenomen en is de id een punt (.) gevolgd door de bijdrage-id. '.hub' kan bijvoorbeeld worden gebruikt in de extensie 'vss-web' die eerder is vermeld als een snelkoppeling voor 'ms.vss-web.hub'.
Bijdragen instellen
Sommige bijdragen fungeren als containers waarop andere bijdragen betrekking hebben.
- Hub-bijdragen kunnen zich richten op Hub-groepen. Wanneer een pagina wordt weergegeven, worden in de webgebruikersinterface alle Hub-bijdragen weergegeven die zijn gericht op de geselecteerde hubgroep. Hubgroepen richten zich op een hubgroepverzameling, die een set hubgroepen definieert die worden weergegeven in een bepaald navigatiegebied, bijvoorbeeld beheerpagina's op projectniveau.
- Verschillende soorten bijdragen kunnen zich richten op menu's: actie, hyperlinkactie en actieprovider. Acties en hyperlinkacties bieden items voor één menu-item. Een actieprovider kan meerdere dynamische menu-items bieden. Voor een bepaald menu worden items samengevoegd voor alle bijdragen (van elk van deze typen) die gericht zijn op die specifieke menubijdrage.
Een hubpictogram toevoegen
Raadpleeg de richtlijnen voor het hubpictogram voor meer informatie over het toevoegen van een pictogram aan uw hub.
Ondersteunde badgeservices
Marketplace ondersteunt alleen badges van de volgende vertrouwde services:
- 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/
Notitie
Vervang 'vsmarketplacebadge.apphb.com' door 'vsmarketplacebadges.dev'.
Als u een badge van een andere service wilt weergeven, neemt u contact op met de klantondersteuning in de ontwikkelaarscommunity.
Voorbeeldmanifest
De volgende extensie draagt een actie bij aan het contextmenu voor voltooide builds en een hub aan de build-hubgroep:
{
"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"
}
}
]
}