Delen via


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 genaamd vss-extension.json in de hoofdmap van de map van je extensie. 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:

Eigendom 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 onder 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.
versie Een tekenreeks die de versie van een extensie opgeeft. Moet de indeling major.minor.patchhebben, 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 Plansen Azure Artifacts.

Opmerkingen:
    - Gebruik versie >=0.6.3 van de tfx-cli als u de extensie programmatisch publiceert.
    - Als u de Azure DevOps Extension Tasks-extensie gebruikt om te publiceren, zorg er dan voor dat de versie gelijk is aan of groter dan 1.2.8 >. 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 TFS-klanten uw extensie verkrijgen via Visual Studio Marketplace (geen lokale galerie) in verbonden context, gebruikt u de categorieën die eerder zijn vermeld.
      - 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

Eigenschap Beschrijving Opmerkingen
Scopes Een matrix met autorisatiebereiken (tekenreeksen) met machtigingen die zijn vereist voor uw extensie. Bijvoorbeeld, geven vso.work en vs.code_write aan dat uw extensie alleen-lezentoegang nodig heeft tot werkitems en lees-/schrijftoegang tot broncode (en gerelateerde resources). 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.
bijdragetypes 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:

Eigendom 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 timerenzovoort.
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 van elk item is het pad naar het bestand in de extensie.
inhoud 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 zich in het GitHub Flavored Markdown-formaat bevindt. Het path van elk item is het pad naar het Markdown-bestand in de extensie. Geldige sleutels: details. Andere sleutels kunnen in de toekomst worden ondersteund.
links 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.
Insignes Matrix van koppelingen naar externe metagegevensbadges zoals TravisCI, Appveyor, enzovoort, van de goedgekeurde badgesites Geldige sleutels: href - De link waar de gebruiker naartoe gaat bij het selecteren van de badge. 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 met 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 Paid vlag als de __BYOLENFORCED tag moeten aanwezig zijn om een extensie in de Marketplace als betaald te markeren. 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 is de overschrijving niet langer nodig. Controleer voorlopig of uw extensie wordt weergegeven zoals verwacht. Elke overschrijving 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 - de inhoud (details)
  • 6 - koppelingen
  • 7 - huisstijl

kaart

Vragen en Antwoorden voor Marketplace - Functie 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 voor 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 één of meerdere scopes definiëren. Deze scopes bepalen welke resources uw extensie kan openen en welke bewerkingen op die resources mogen worden uitgevoerd. De reikwijdtes die u in uw extensiemanifest opgeeft, zijn de reikwijdtes die zijn toegepast op toegangstokens die aan uw extensie zijn uitgegeven. Zie Auth en beveiliging voor meer informatie.

Als er geen bereiken zijn opgegeven, krijgen extensies alleen toegang tot gebruikersprofiel- en extensiegegevens.

Ondersteunde toepassingsgebieden

Categorie Bereik Name Hoog risico Beschrijving Neemt over van
Geavanceerde beveiliging vso.advsec AdvancedSecurity (lezen) Ja Verleent de mogelijkheid om waarschuwingen, resultaatexemplaren, analyseresultatenexemplaren te lezen.
vso.advsec_write AdvancedSecurity (lezen en schrijven) Ja Verleent de mogelijkheid om analyses in sarif te uploaden vso.advsec
vso.advsec_manage AdvancedSecurity (lezen, schrijven en beheren) Ja Verleent de mogelijkheid om analyses in sarif te uploaden vso.advsec_write
Agentpools vso.agentpools Agent Pools (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) Ja Biedt de mogelijkheid om pools, wachtrijen en agents te beheren. vso.agentpools
vso.environment_manage Omgeving (bekijken, beheren) Ja Biedt de mogelijkheid om pools, wachtrijen, agents en omgevingen te beheren. vso.agentpools_manage
Analyse vso.analytics Data-analyse (bekijken) 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 Audit Streams (lezen) Ja 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) Ja Biedt de mogelijkheid om toegang te krijgen tot build-artefacten, waaronder buildresultaten, definities en aanvragen, en de mogelijkheid om een build in de wachtrij te plaatsen, build-eigenschappen te updaten, en meldingen te ontvangen over build-gebeurtenissen via service-hooks. vso.build
Code vso.code Code (lezen) Biedt de mogelijkheid om broncode en metadata te lezen over commits, wijzigingensets, vertakkingen en andere versiebeheerartefacten. 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) Ja Biedt de mogelijkheid om broncode te lezen, bij te werken en te verwijderen, en om toegang te krijgen tot metadata over commits, 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) Ja Biedt de mogelijkheid om broncode te lezen, bij te werken en te verwijderen, evenals het toegang verkrijgen tot metadata van commits, 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) Ja 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-leestoegang tot het licentierechten-eindpunt om accountrechten op te halen.
vso.memberentitlementmanagement Lidmaatschapsrechtenbeheer (lezen) Verleent de mogelijkheid om gebruikers, hun licenties en projecten en extensies te lezen die ze kunnen openen.
vso.memberentitlementmanagement_write MemberEntitlement Management (schrijven) Ja 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) Ja 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) Ja 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) Ja 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) Ja Biedt de mogelijkheid om identiteiten en groepen te lezen, schrijven en beheren. vso.identity
Machinegroep vso.machinegroup_manage Implementatiegroep (lezen, beheren) Ja Biedt de mogelijkheid om implementatiegroep- en agentgroepen te beheren. vso.agentpools_manage
Marketplace vso.gallery Marktplaats 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) Ja Verleent leestoegang en de mogelijkheid om items te uploaden, bij te werken en te delen. vso.gallery
vso.gallery_manage Marketplace (beheren) Ja 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) Ja Biedt de mogelijkheid om feeds en pakketten te maken en te lezen. vso.packaging
vso.packaging_manage Verpakking (lezen, schrijven en beheren) Ja 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) Ja 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) Ja 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) Ja Biedt de mogelijkheid om projecten en teams te maken, lezen, bijwerken en verwijderen. vso.project_write
Release vso.release Release (Lezen) Verleent de mogelijkheid tot het lezen van release-artefacten, inclusief releases, releasedefinities en releaseomgevingen. vso.profile
vso.release_execute Release (lezen, schrijven en uitvoeren) Ja 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) Ja 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) Ja Biedt de mogelijkheid om beveiligde bestanden te lezen.
vso.securefiles_write Beveiligde bestanden (lezen, maken) Ja Biedt de mogelijkheid om beveiligde bestanden te lezen en te maken. vso.securefiles_read
vso.securefiles_manage Beveiligde bestanden (lezen, maken en beheren) Ja Biedt de mogelijkheid om beveiligde bestanden te lezen, te maken en te beheren. vso.securefiles_write
Beveiliging vso.security_manage Beveiliging (beheren) Ja 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) 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) Ja Biedt de mogelijkheid om service-eindpunten te lezen, op te vragen en te beheren. vso.serviceendpoint_query
Servicehooks 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 Servicehooks (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 Servicehaken (interactie) Verleent de mogelijkheid om te interageren en acties uit te voeren op gebeurtenissen die zijn ontvangen via servicehooks. (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) Ja 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
Threads vso.threads_full PR-draadjes Verleent de mogelijkheid om threads met opmerkingen voor pull-aanvragen te lezen en schrijven.
Tokens vso.tokens Gedelegeerde autorisatietokens Ja Verleent de mogelijkheid om gedelegeerde autorisatietokens te beheren aan gebruikers.
vso.tokenadministration Tokenbeheer Ja 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 Variabelengroepen (lezen) De mogelijkheid om variabelegroepen te lezen wordt verleend.
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) Ja 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, paden voor gebieden en iteraties, en andere metagegevens die verband houden met het volgen van 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 met betrekking tot werkitems via service-hooks. vso.work_write
Gebruikersimitatie user_impersonation Gebruikersimitatie Ja 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.

De sectie Actie vereist van de Extensie-instellingen-hub toont aan de gebruiker of geïnstalleerde extensies al dan niet autorisatie vereisen.

reikwijdteverandering

Een beheerder kan vervolgens de nieuwe set scopes controleren en autoriseren.

scope-change-dialog

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 Services
  • Microsoft.TeamFoundation.Server: wordt geïnstalleerd in Azure DevOps Server
  • Microsoft.VisualStudio.Services: installeert in beide. Snelkoppeling voor Microsoft.VisualStudio.Services.Cloud en Microsoft.TeamFoundation.Server versie [14.2,)

Ondersteunde id's voor integraties:

  • Microsoft.VisualStudio.Services.Cloud.Integration: integreert met Azure DevOps Services
  • Microsoft.TeamFoundation.Server.Integration: integreert met Azure DevOps Server
  • Microsoft.VisualStudio.Services.Integration: integreert met beide. Snelkoppeling voor Microsoft.VisualStudio.Services.Cloud.Integration en Microsoft.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"
        }
    ]
}

Installatiedoelversies

Sommige installatiedoel-id's, zoals Microsoft.TeamFoundation.Server en Microsoft.TeamFoundation.Server.Integration, ondersteunen een optioneel versiebereik. Dit optionele versiebereik verduidelijkt verder op welke ondersteunde releases 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 Uitgaven 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 van Microsoft.VisualStudio.Services en een eis van api-version/3.0 specificeert, betekent dit dat de extensie werkt 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"
    ]
}

Komt overeen met de volgende installatiedoelen:

  1. Microsoft.VisualStudio.Services.Cloud
  2. Microsoft.TeamFoundation.ServerVersie: [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 gericht op de volgende installatiedoelen:

  1. Microsoft.VisualStudio.Services.Cloud.Integration
  2. Microsoft.TeamFoundation.Server.IntegrationVersie: [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 Beschrijving Is het gecontroleerd bij publicatie? 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) Nee Ja
extension/{id} Vereist dat een specifieke extensie is geïnstalleerd/ingeschakeld Nee Ja
contribution/{id} Vereist dat een specifieke bijdrage beschikbaar is Nee Ja
contributionType/{id} Vereist dat een specifiek type bijdrage beschikbaar is Nee Ja

Notitie

  • Gebruik environment/cloud en environment/onprem alleen wanneer uw extensie topologie-gerelateerde vereisten heeft die in die specifieke omgeving moeten worden uitgevoerd.
  • extension, contributionen contributionType 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 relatief ten opzichte van uw basisdirectory kan zijn.
  • 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. Wordt standaard ingesteld op het relatieve pad op de 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. Wordt standaard ingesteld op packagePath.
  • lang – (optioneel) Taal van deze asset. Gelokaliseerde bestanden worden geleverd op basis van de Accept-Language-header. Laat leeg om aan te geven dat dit bestand in de standaard (of terugval) taal is. 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 contributietype van deze bijdrage.
  • description - (Optioneel) Een tekenreeks die beschrijft wat de bijdrage levert.
  • doelen : een reeks met bijdrage-id's waar de bijdrage op gericht is (bijdraagt aan). 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 referenties en typen van bijdragen.
  • name - De vriendelijke 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. Verwijs typen met de type eigenschap en verwijs andere bijdragen met de targets eigenschap.

  • Een volledige bijdrageverwijzing bevat de uitgever-id, extensie-id en bijdrage/type-id, gescheiden door een punt (.). Bijvoorbeeld, ms.vss-web.hub is de volledige id voor de bijdrage met de id 'hub' in de extensie 'vss-web', gepubliceerd door '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 richten

Sommige bijdragen fungeren als containers waarop andere bijdragen gericht zijn.

  • 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 hyperkoppelingsacties voorzien in een enkel 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

Bekijk de handleiding 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"
            }
        }
    ]
}