Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Extensies voegen mogelijkheden toe aan Azure DevOps via bijdragen en bijdragetypen die zijn gedeclareerd in het extensiemanifest. Een bijdragetype definieert een contract: de eigenschappen en het gedrag die bijdragen van dat type moeten implementeren. Een bijdrage is een concreet exemplaar van een bijdragetype (bijvoorbeeld een hub of een build-taak).
Aanbeveling
Als u een nieuwe Azure DevOps-extensie start, kunt u deze onderhouden voorbeeldverzamelingen eerst proberen. Ze werken met de huidige productversies en behandelen moderne scenario's (bijvoorbeeld tabbladen toevoegen op pull-aanvraagpagina's).
- Azure DevOps-extensievoorbeeld (GitHub): een compact startersvoorbeeld dat algemene uitbreidingspatronen demonstreert: https://github.com/microsoft/azure-devops-extension-sample
- Voorbeelden van Azure DevOps-extensies (verouderde handleiding voor verzamelingen en bijdragen): installeren om UI-doelen te inspecteren of de bron te bekijken: https://marketplace.visualstudio.com/items/ms-samples.samples-contributions-guidehttps://github.com/Microsoft/vso-extension-samples/tree/master/contributions-guide
- Microsoft Learn-voorbeelden (bladeren door Azure DevOps-voorbeelden): gecureerde, up-to-datum voorbeelden in Microsoft-documenten: /samples/browse/?terms=azure%20devops%20extension
Als een voorbeeld niet werkt in uw organisatie, installeert u het in een persoonlijke organisatie of testorganisatie en vergelijkt u de doel-id's en API-versies van het extensiemanifest met de huidige documenten. Zie voor naslaginformatie en API's:
Voor meer informatie, zie:
Bijdragetypen
Een bijdragetype definieert de eigenschappen en regels die bijdragen van dat type moeten volgen. Bijdragetypen kunnen andere bijdragetypen uitbreiden, waarbij hun eigenschappen worden overgenomen.
Algemene ingebouwde bijdragetypen zijn onder andere:
-
ms.vss-web.hub— een pagina in de webgebruikersinterface -
ms.vss-web.action— een menuactie -
ms.vss-distributed-task.task— een build-/releasetaak
Elke eigenschapsdefinitie in een bijdragetype geeft het volgende op:
-
type — het gegevenstype (bijvoorbeeld
string,boolean,integer) - vereist : of de eigenschap moet worden opgegeven
- standaard : een optionele standaardwaarde
Voorbeeld van bijdragetype
Een declaratie van een bijdragetype in een manifest ziet er als volgt uit:
{
"contributionTypes": [
{
"id": "hub",
"name": "Web Access Hub",
"description": "A hub that appears in the hubs menu at the top of web pages.",
"properties": {
"name": {
"description": "The text to display for the hub",
"type": "string",
"required": true
},
"uri": {
"description": "URI of the contents of the hub page",
"type": "string",
"required": true
},
"order": {
"description": "Optional ordering value indicating the hub's position within the hub group",
"type": "integer"
}
}
}
]
}
Bijdragen
Een bijdrage is een exemplaar van een bijdragetype. De hub onder de werkhubgroep is bijvoorbeeld Queries een bijdrage van het type ms.vss-web.huben de Publish Test Results build-taak is een bijdrage van het type ms.vss-distributed-task.task.
Elke bijdrage moet een type opgeven en waarden opgeven voor alle eigenschappen die voor dat type zijn vereist.
Voorbeeld van bijdrage
Met de volgende declaratie voor hubbijdragen in een uitbreidingsmanifest wordt een hub met de naam 'Explorer' toegevoegd aan een build-hubgroep:
{
"contributions": [
{
"id": "build-explorer-hub",
"type": "ms.vss-web.hub",
"targets": [
".build-hub-group"
],
"properties": {
"name": "Explorer",
"uri": "/_build",
"order": 22
}
}
]
}
Doelbijdragen
Een bijdrage kan gericht zijn op een of meer andere bijdragen, waardoor een bovenliggende-onderliggende relatie ontstaat. Het systeem detecteert deze relaties tijdens runtime om te bepalen wat er moet worden weergegeven. Een bijdrage is bijvoorbeeld hub gericht op een hub-group bijdrage, zodat het systeem weet welke hubs bij welke groep horen.
{
"id": "build-explorer-hub",
"type": "ms.vss-web.hub",
"targets": [
".build-hub-group"
]
}
Wanneer de hubgroep wordt weergegeven, voert het systeem query's uit voor alle hubbijdragen die erop gericht zijn om te bepalen welke hubs moeten worden weergegeven.
Bijdrage-identificaties
Elk bijdrage- en bijdragetype moet een unieke id hebben binnen de extensie.
Een volledig gekwalificeerde id heeft drie delen, gescheiden door puntjes (.):
| Onderdeel | Example |
|---|---|
| Uitgever-id | ms |
| Extensie-ID | vss-web |
| Bijdrage/type-ID | hub |
Volledige identificatiecode: ms.vss-web.hub
Binnen hetzelfde uitbreidingsmanifest kunt u relatieve verwijzingen gebruiken, een punt gevolgd door de bijdrage-id. Bijvoorbeeld, .hub is een snelkoppeling voor ms.vss-web.hub wanneer deze in de vss-web extensie wordt gebruikt.