Tilläggsmanifestreferens
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Varje tillägg har en JSON-manifestfil som definierar grundläggande information om tillägget. Filen definierar också hur den kan utöka och förbättra upplevelsen. Den här artikeln visar hur du skapar ett manifest för ditt tillägg till Azure DevOps.
Dricks
Läs vår senaste dokumentation om tilläggsutveckling med hjälp av Azure DevOps Extension SDK.
Skapa en fil med namnet vss-extension.json
i roten i tilläggsmappen. Den här filen innehåller obligatoriska attribut, till exempel tilläggets ID och dess installationsmål, där den kan köras. Den definierar också de bidrag som görs av ditt tillägg.
Se följande exempel på ett typiskt 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"
}
]
}
Information om indata finns i ...
Obligatoriska attribut
Property | beskrivning | Kommentar |
---|---|---|
manifestVersion | Ett tal som motsvarar versionen av manifestformatet. | Ska vara 1 . |
ID | Tilläggets identifierare. | Det här ID:t är en sträng som måste vara unik bland tillägg från samma utgivare. Den måste börja med ett alfabetiskt eller numeriskt tecken och innehålla "A" genom "Z", "a" till "z", "0" till och med "9" och "-" (bindestreck). Exempel: sample-extension . |
version | En sträng som anger versionen av ett tillägg. | Ska vara i formatet major.minor.patch , till exempel 0.1.2 eller 1.0.0 . Du kan också lägga till ett fjärde tal för följande format: 0.1.2.3 |
Namn | Ett kort, läsbart namn på tillägget. Begränsad till 200 tecken. | Exempel: "Fabrikam Agile Board Extension" . |
förläggare | Utgivarens identifierare. | Den här identifieraren måste matcha den identifierare som tillägget publiceras under. Se Skapa och hantera en utgivare. |
Kategorier | Matris med strängar som representerar de kategorier som tillägget tillhör. Minst en kategori måste anges och det finns ingen gräns för hur många kategorier du kan inkludera. | Giltiga värden: Azure Repos , Azure Boards , Azure Pipelines , Azure Test Plans och Azure Artifacts .Anteckningar:
– Om du använder tillägget Azure DevOps-tilläggsuppgifter för att publicera kontrollerar du att dess version är >= 1.2.8. Du kan behöva godkänna tilläggsuppdateringen på grund av de senaste omfångsändringarna. – De kategorier som tidigare nämnts finns internt i Visual Studio Marketplace och Azure DevOps Server 2019 och senare. För tillägg som riktar sig till tidigare versioner av TFS:
– Om du ska dela tillägget direkt (dvs. inte via Visual Studio Marketplace) med en kund som använder TFS <=2018 använder du i stället följande kategorier: Kod, Planera och spåra, Skapa och släpp, Testa, Samarbeta och Integrera. Om du behöver dela både via Visual Studio Marketplace och direkt med en TFS <= 2018-kund måste du ha 2 tilläggspaket. |
Mål | De produkter och tjänster som stöds av din integrering eller ditt tillägg. Mer information finns i installationsmål. | En matris med objekt, där varje objekt har ett id fält som anger något av följande:
Microsoft.VisualStudio.Services (tillägg som fungerar med Azure DevOps eller TFS),Microsoft.TeamFoundation.Server - (tillägg som fungerar med TFS),- Microsoft.VisualStudio.Services.Integration (integreringar som fungerar med Azure DevOps eller TFS) - Microsoft.TeamFoundation.Server.Integration (integreringar som fungerar med TFS) |
Exempel på obligatoriska attribut
{
"manifestVersion": 1,
"id": "tools",
"version": "0.1.0",
"name": "Fabrikam Tools",
"publisher": "fabrikam",
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
]
}
Valfria attribut
Körningsattribut
Property | beskrivning | Kommentar |
---|---|---|
Scope | En matris med auktoriseringsomfattningar (strängar) med behörigheter som krävs av tillägget. | Och anger till exempel vso.work vs.code_write att tillägget behöver skrivskyddad åtkomst till arbetsobjekt och läs-/skrivåtkomst till källkod (och relaterad resurs). Omfång visas för användaren när du installerar tillägget. Mer information finns i den fullständiga listan över omfång. |
Krav | En matris med krav (strängar) som visar de funktioner som krävs i tillägget. | Anger till exempel api-version/3.0 att tillägget använder API:er för version 3.0 och därför inte kan köras i äldre produkter som inte stöder den här versionen. Mer information finns i den fullständiga listan över krav. |
baseUri | (Valfritt) bas-URL för alla relativa URL:er som anges av tilläggets bidrag. | Exempel: https://myapp.com/{{account.name}}/ . Den här egenskapen bör lämnas tom om tilläggets innehåll paketeras med tillägget. |
Bidrag | En matris med bidrag till systemet. | |
contributionTypes | En matris med bidragstyper som definieras av tillägget |
{
"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"
}
}
]
}
Identifieringsattribut
De här valfria egenskaperna hjälper användarna att identifiera och lära sig mer om ditt tillägg:
Property | beskrivning | Kommentar |
---|---|---|
beskrivning | Några meningar som beskriver tilläggen. Begränsad till 200 tecken. | Beskrivningen bör vara tilläggets "hisshöjd" – ett par rader för att beskriva ditt tillägg på Marketplace och få personer att vilja installera det. Se exemplet nedan |
Ikoner | Ordlista med ikoner som representerar tillägget. | Giltiga nycklar: default (128 x 128 bildpunkter) av typen BMP, GIF, EXIF, JPG, PNG och TIFF). Andra nycklar som large (512 x 512 bildpunkter) kan stödjas i framtiden. Värdet för varje nyckel är sökvägen till ikonfilen i tillägget |
tagg | Matris med strängtaggar som hjälper användarna att hitta tillägget. | Exempel: agile , project management , task timer och så vidare. |
skärmbilder | Matris med bilder som inte kunde inkluderas i ditt innehåll. | Skärmbilder är mer värdefulla när de visas i ditt innehåll och bör användas där för att skapa en informationssida för kvalitetsmarknadsinformation för ditt tillägg. Använd skärmbilder för mindre viktiga bilder som inte finns i ditt innehåll. Varje bild ska vara 1366 x 768 bildpunkter. För path varje objekt är sökvägen till filen i tillägget. |
innehåll | Ordlista över innehållsfiler som beskriver ditt tillägg till användare. | Varje tillägg bör innehålla fast innehåll. Så här visar du användarna vad tillägget kan göra. Gör den rik, förbrukningsbar och inkludera skärmbilder där det behövs. Inkludera en overview.md fil som basinnehållsdel. Varje fil antas vara i GitHub Flavored Markdown-format . För path varje objekt är sökvägen till Markdown-filen i tillägget. Giltiga nycklar: details . Andra nycklar kan stödjas i framtiden. |
Länkar | Ordlista med länkar som hjälper användarna att lära sig mer om ditt tillägg, få support och flytta. | Giltiga nycklar: getstarted – första stegen, hur du konfigurerar eller använder. learn – djupare innehåll som hjälper användarna att bättre förstå ditt tillägg eller din tjänst. license – licensavtal för slutanvändare. privacypolicy – Sekretesspolicy för ett tillägg. support – få hjälp och support för ett tillägg. Värdet för varje nyckel är ett objekt med ett uri fält, vilket är länkens absoluta URL |
Databasen | Ordlista med egenskaper som beskriver källkodslagringsplatsen för tillägget | Giltiga nycklar: type – Typ av lagringsplats. Exempel: git. uri – Absolut URL för lagringsplatsen. |
Märken | Matris med länkar till externa metadatamärken som TravisCI, Appveyor och så vidare från de godkända märkenas webbplatser | Giltiga nycklar: href – Länka användaren navigerar till när du väljer märket. uri – Den absoluta URL:en för den märkesbild som ska visas. description - Beskrivning av märket, som ska visas vid hovring. |
Branding | Ordlista över varumärkesrelaterade egenskaper. | Giltiga nycklar: color – den primära färgen på tillägget eller utgivaren, kan vara en hex (#ff00ff), RGB (rgb(100 200,50)) eller HTML-färgnamn som stöds (blå). theme - kompletterar färgen; använd mörk för mörka varumärkesfärger eller ljus för ljusare varumärkesfärger. |
Markera ett offentligt tillägg
Som standard är alla tillägg på Azure DevOps Marketplace privata. De är bara synliga för utgivaren och konton som delas av utgivaren. Om utgivaren har verifierats kan du göra tillägget offentligt genom att ange Public
flaggan i tilläggsmanifestet:
{
"galleryFlags": [
"Public"
]
}
Eller:
{
"public": true
}
Mer information finns i Paket/Publicera/Installera.
Markera ett tillägg som ska vara i förhandsversion
Om tillägget är redo för användare på Marketplace att prova, men du fortfarande arbetar med några buggar eller lägger till funktionen, kan du markera det som preview
:
{
"galleryFlags": [
"Preview"
]
}
Markera ett tillägg som betald förhandsversion
Om du tänker sälja ditt tillägg på Marketplace markerar du det som betald förhandsversion. Det går inte att ändra ett tillägg som är markerat som kostnadsfritt till betald.
{
"galleryFlags": [
"Paid",
"Preview"
]
}
Markera en förlängning som betald
Om du vill sälja tillägget på Marketplace kan du markera det med Paid
flaggan och __BYOLENFORCED
taggen (börjar med två understreck):
{
"galleryFlags": [
"Paid"
],
"tags": [
"__BYOLENFORCED"
]
}
Paid
Både flaggan och __BYOLENFORCED
taggen måste finnas för att markera ett tillägg som betalt på Marketplace. BYOL (Bring-Your-Own-License) innebär att utgivaren av tillägget tillhandahåller fakturerings- och licensieringsmekanismen för tillägget, eftersom det inte tillhandahålls av Microsoft för Azure DevOps-tillägg. Alla betalda tillägg krävs för att definiera sekretesspolicy, supportprincip och ett licensavtal för slutanvändare. Utgivare måste ange innehåll för prisfliken på Marketplace på följande sätt:
{
"content": {
"details": {
"path": "overview.md"
},
"pricing": {
"path": "pricing.md"
}
}
}
Du måste också lägga till ett nytt avsnitt i tilläggsmanifestet för att åsidosätta betald licensiering. I framtiden tar vi bort den betalda licensieringskontrollen och kräver inte längre åsidosättningen. Se till att tillägget visas som förväntat för tillfället. Varje åsidosättning består av ett "ID" och ett "beteende". Gör så att "ID" matchar ID:t för de bidrag som definierats i manifestet.
"licensing": {
"overrides": [
{ "id": "my-hub", "behavior": " AlwaysInclude" }
]
}
Om ditt betalda BYOL-tillägg erbjuder en utvärderingsperiod (vi rekommenderar det) kan du ange längden på utvärderingsversionen i dagar:
{
"galleryproperties": {
"trialDays": "30"
}
}
Kommentar
Om du vill rikta in dig på Azure DevOps, men inte vill visa ett nedladdningsalternativ för tillägget, lägger du till taggen __DoNotDownload
(börjar med två understreck) i tilläggsmanifestet.
Om du flyttar ett tillägg från den tidigare erbjudna faktureringen och licensiering från Microsoft till BYOL-modellen kontaktar du oss för lämpliga steg.
Exempel på fler egenskaper
{
"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"
}
]
}
Exempel på informationssida
- 1 – beskrivning
- 2 – ikon
- 3 – kategorier
- 4 – skärmbilder
- 5 – innehåll (information)
- 6 - länkar
- 7 - varumärkesanpassning
Marketplace Q &A – Egenskapen CustomerQnASupport
Alla tillägg på Visual Studio Marketplace har ett avsnitt med frågor och svar (Q &A) för att tillåta en-mot-en-offentliga konversationer mellan tilläggsanvändare och utgivare. Utgivare kan välja mellan Frågor och svar på Marketplace (Q&A), GitHub-problem eller en anpassad Q&A-URL. Du kan inaktivera Q&A på Marketplace med egenskapen CustomerQnASupport i manifestet.
Standardupplevelse (inga ändringar i manifestet krävs)
- För tillägg med en GitHub-lagringsplats omdirigerar Marketplace användare i avsnittet Q&A till associerade GitHub-problem.
- För tillägg utan en GitHub-lagringsplats är Marketplace Q&A aktiverat.
För en annan upplevelse än något av standardalternativen använder du egenskapen CustomerQnASupport i manifestet.
{
"CustomerQnASupport": {
"enablemarketplaceqna": true,
"url": "http://uservoice.visualstudio.com"
}
}
Egenskaper
Egenskaper för avsnittet Kund Q & A Support:
- enablemarketplaceqna – booleskt fält, inställt på
true
för Marketplace eller anpassad Q&A; false för att inaktivera Q&A - url – sträng, URL för anpassad Q&A
Exempel som visar användning av Q &A-stöd
Exempel: Tillägg med anpassad Q &A
{
"CustomerQnASupport": {
"enablemarketplaceqna":"true",
"url": "http://uservoice.visualstudio.com"
}
}
Exempel: Tillägg med GitHub-lagringsplats men med Marketplace Q &A i stället för GitHub-problem
{
"CustomerQnASupport": {
"enablemarketplaceqna":"true"
}
}
Exempel: Tillägg som inaktiverar Q &A-avsnitt
{
"CustomerQnASupport": {
"enablemarketplaceqna":"false"
}
}
Omfattningar
I tillägget kan du definiera ett eller flera omfång. Dessa omfång avgör vilka resurser ditt tillägg kan komma åt och vilka åtgärder som tillåts utföras på dessa resurser. De omfång som du anger i tilläggsmanifestet är de omfång som angetts för åtkomsttoken som utfärdats till tillägget. Mer information finns i autentisering och säkerhet.
Om inga omfång anges ges tillägg endast åtkomst till användarprofil- och tilläggsdata.
Omfång som stöds
Kategori | Omfattning | Name | beskrivning | Ärver från |
---|---|---|---|---|
Avancerad säkerhet | vso.advsec |
AdvancedSecurity (läs) | Ger möjlighet att läsa aviseringar, resultatinstanser, analysresultatinstanser. | |
vso.advsec_write |
AdvancedSecurity (läsa och skriva) | Ger möjlighet att ladda upp analyser i sarif | vso.advsec |
|
vso.advsec_manage |
AdvancedSecurity (läsa, skriva och hantera) | Ger möjlighet att ladda upp analyser i sarif | vso.advsec_write |
|
Agentpooler | vso.agentpools |
Agentpooler (läs) | Ger möjlighet att visa uppgifter, pooler, köer, agenter och för närvarande aktiva eller nyligen slutförda jobb för agenter. | |
vso.agentpools_manage |
Agentpooler (läsa, hantera) | Ger möjlighet att hantera pooler, köer och agenter. | vso.agentpools |
|
vso.environment_manage |
Miljö (läsa, hantera) | Ger möjlighet att hantera pooler, köer, agenter och miljöer. | vso.agentpools_manage |
|
Analys | vso.analytics |
Analys (läs) | Ger möjlighet att köra frågor mot analysdata. | |
Granskning | vso.auditlog |
Granskningslogg (läs) | Ger användarna möjlighet att läsa granskningsloggen. | |
vso.auditstreams_manage |
Granska strömmar (läs) | Ger möjlighet att hantera granskningsströmmar till användare. | vso.auditlog |
|
Bygge | vso.build |
Skapa (läs) | Ger möjlighet att komma åt byggartefakter, inklusive byggresultat, definitioner och begäranden, samt möjlighet att ta emot meddelanden om bygghändelser via tjänstkrokar. | vso.hooks_write |
vso.build_execute |
Skapa (läsa och köra) | Ger möjlighet att komma åt byggartefakter, inklusive byggresultat, definitioner och begäranden, samt möjlighet att köa bygge, uppdatera byggegenskaper och möjlighet att ta emot meddelanden om bygghändelser via tjänstkrokar. | vso.build |
|
Code | vso.code |
Kod (läs) | Ger möjlighet att läsa källkod och metadata om incheckningar, ändringsuppsättningar, grenar och andra artefakter för versionskontroll. Ger också möjlighet att söka efter kod och få meddelanden om versionskontrollhändelser via tjänstkrokar. | vso.hooks_write |
vso.code_write |
Kod (läsa och skriva) | Ger möjlighet att läsa, uppdatera och ta bort källkod, komma åt metadata om incheckningar, ändringsuppsättningar, grenar och andra artefakter för versionskontroll. Ger även möjlighet att skapa och hantera pull-begäranden och kodgranskningar och att ta emot meddelanden om versionskontrollhändelser via tjänstkrokar. | vso.code |
|
vso.code_manage |
Kod (läsa, skriva och hantera) | Ger möjlighet att läsa, uppdatera och ta bort källkod, komma åt metadata om incheckningar, ändringsuppsättningar, grenar och andra artefakter för versionskontroll. Ger också möjlighet att skapa och hantera kodlagringsplatser, skapa och hantera pull-begäranden och kodgranskningar samt att ta emot meddelanden om versionskontrollhändelser via tjänstkrokar. | vso.code_write |
|
vso.code_full |
Kod (fullständig) | Ger fullständig åtkomst till källkod, metadata om incheckningar, ändringsuppsättningar, grenar och andra artefakter för versionskontroll. Ger också möjlighet att skapa och hantera kodlagringsplatser, skapa och hantera pull-begäranden och kodgranskningar samt att ta emot meddelanden om versionskontrollhändelser via tjänstkrokar. Innehåller även begränsat stöd för API:er för klient-OM. | vso.code_manage |
|
vso.code_status |
Kod (status) | Ger möjlighet att läsa och skriva inchecknings- och pull-begärandestatus. | ||
Ansluten server | vso.connected_server |
Ansluten server | Ger möjlighet att komma åt slutpunkter som behövs från en lokal ansluten server. | |
Berättiganden | vso.entitlements |
Berättiganden (läs) | Ger skrivskyddad åtkomst till licensrättigheternas slutpunkt för att hämta kontorättigheter. | |
vso.memberentitlementmanagement |
MemberEntitlement Management (läs) | Ger möjlighet att läsa användare, deras licenser samt projekt och tillägg som de kan komma åt. | ||
vso.memberentitlementmanagement_write |
MemberEntitlement Management (skrivning) | Ger möjlighet att hantera användare, deras licenser samt projekt och tillägg som de kan komma åt. | vso.memberentitlementmanagement |
|
Tillägg | vso.extension |
Tillägg (läs) | Ger möjlighet att läsa installerade tillägg. | vso.profile |
vso.extension_manage |
Tillägg (läsa och hantera) | Ger möjlighet att installera, avinstallera och utföra andra administrativa åtgärder på installerade tillägg. | vso.extension |
|
vso.extension.data |
Tilläggsdata (läs) | Ger möjlighet att läsa data (inställningar och dokument) som lagras av installerade tillägg. | vso.profile |
|
vso.extension.data_write |
Tilläggsdata (läsa och skriva) | Ger möjlighet att läsa och skriva data (inställningar och dokument) som lagras av installerade tillägg. | vso.extension.data |
|
Github-anslutningar | vso.githubconnections |
GitHub-anslutningar (läs) | Ger möjlighet att läsa GitHub-anslutningar och GitHub-lagringsplatser. | |
vso.githubconnections_manage |
GitHub-anslutningar (läsa och hantera) | Ger möjlighet att läsa och hantera GitHub-anslutningar och GitHub-lagringsplatser | vso.githubconnections |
|
Diagram och identitet | vso.graph |
Diagram (läs) | Ger möjlighet att läsa information om användar-, grupp-, omfångs- och gruppmedlemskap. | |
vso.graph_manage |
Diagram (hantera) | Ger möjlighet att läsa information om användare, grupper, omfång och gruppmedlemskap samt lägga till användare, grupper och hantera gruppmedlemskap. | vso.graph |
|
vso.identity |
Identitet (läs) | Ger möjlighet att läsa identiteter och grupper. | ||
vso.identity_manage |
Identitet (hantera) | Ger möjlighet att läsa, skriva och hantera identiteter och grupper. | vso.identity |
|
Datorgrupp | vso.machinegroup_manage |
Distributionsgrupp (läsa, hantera) | Ger möjlighet att hantera distributionsgrupp- och agentpooler. | vso.agentpools_manage |
Marketplace | vso.gallery |
Marketplace | Ger läsbehörighet till offentliga och privata objekt och utgivare. | vso.profile |
vso.gallery_acquire |
Marketplace (hämta) | Ger läsåtkomst och möjlighet att hämta objekt. | vso.gallery |
|
vso.gallery_publish |
Marketplace (publicera) | Ger läsåtkomst och möjlighet att ladda upp, uppdatera och dela objekt. | vso.gallery |
|
vso.gallery_manage |
Marketplace (hantera) | Ger läsåtkomst och möjlighet att publicera och hantera objekt och utgivare. | vso.gallery_publish |
|
Aviseringar | vso.notification |
Meddelanden (läs) | Ger läsåtkomst till prenumerationer och händelsemetadata, inklusive filterbara fältvärden. | vso.profile |
vso.notification_write |
Meddelanden (skriv) | Ger läs- och skrivåtkomst till prenumerationer och läsåtkomst till händelsemetadata, inklusive filterbara fältvärden. | vso.notification |
|
vso.notification_manage |
Meddelanden (hantera) | Ger läs-, skriv- och hanteringsåtkomst till prenumerationer och läsåtkomst till händelsemetadata, inklusive filterbara fältvärden. | vso.notification_write |
|
vso.notification_diagnostics |
Meddelanden (diagnostik) | Ger åtkomst till meddelanderelaterade diagnostikloggar och ger möjlighet att aktivera diagnostik för enskilda prenumerationer. | vso.notification |
|
Paketering | vso.packaging |
Paketering (läs) | Ger möjlighet att läsa feeds och paket. | vso.profile |
vso.packaging_write |
Paketering (läsa och skriva) | Ger möjlighet att skapa och läsa feeds och paket. | vso.packaging |
|
vso.packaging_manage |
Paketering (läsa, skriva och hantera) | Ger möjlighet att skapa, läsa, uppdatera och ta bort feeds och paket. | vso.packaging_write |
|
Pipelineresurser | vso.pipelineresources_use |
Pipelineresurser (användning) | Ger möjlighet att godkänna en pipelines begäran om att använda en skyddad resurs: agentpool, miljö, kö, lagringsplats, säkra filer, tjänstanslutning och variabelgrupp. | |
vso.pipelineresources_manage |
Pipelineresurser (använd och hantera) | Ger möjlighet att hantera en skyddad resurs eller en pipelines begäran om att använda en skyddad resurs: agentpool, miljö, kö, lagringsplats, säkra filer, tjänstanslutning och variabelgrupp. | vso.pipelineresources_manage |
|
Projekt och team | vso.project |
Projekt och team (läs) | Ger möjlighet att läsa projekt och team. | |
vso.project_write |
Projekt och team (läsa och skriva) | Ger möjlighet att läsa och uppdatera projekt och team. | vso.project |
|
vso.project_manage |
Projekt och team (läsa, skriva och hantera) | Ger möjlighet att skapa, läsa, uppdatera och ta bort projekt och team. | vso.project_write |
|
Släppa | vso.release |
Release (läs) | Ger möjlighet att läsa versionsartefakter, inklusive versioner, versionsdefinitioner och versionsmiljö. | vso.profile |
vso.release_execute |
Release (läsa, skriva och köra) | Ger möjlighet att läsa och uppdatera versionsartefakter, inklusive versioner, versionsdefinitioner och versionsmiljö, samt möjlighet att köa en ny version. | vso.release |
|
vso.release_manage |
Version (läsa, skriva, köra och hantera) | Ger möjlighet att läsa, uppdatera och ta bort versionsartefakter, inklusive versioner, versionsdefinitioner och versionsmiljö, samt möjlighet att köa och godkänna en ny version. | vso.release_manage |
|
Säkra filer | vso.securefiles_read |
Säkra filer (läs) | Ger möjlighet att läsa säkra filer. | |
vso.securefiles_write |
Säkra filer (läsa, skapa) | Ger möjlighet att läsa och skapa säkra filer. | vso.securefiles_read |
|
vso.securefiles_manage |
Säkra filer (läsa, skapa och hantera) | Ger möjlighet att läsa, skapa och hantera säkra filer. | vso.securefiles_write |
|
Säkerhet | vso.security_manage |
Säkerhet (hantera) | Ger möjlighet att läsa, skriva och hantera säkerhetsbehörigheter. | |
Tjänstanslutningar | vso.serviceendpoint |
Tjänstslutpunkter (läs) | Ger möjlighet att läsa tjänstslutpunkter. | vso.profile |
vso.serviceendpoint_query |
Tjänstslutpunkter (läsning och fråga) | Ger möjlighet att läsa och fråga tjänstslutpunkter. | vso.serviceendpoint |
|
vso.serviceendpoint_manage |
Tjänstslutpunkter (läsa, fråga och hantera) | Ger möjlighet att läsa, fråga och hantera tjänstslutpunkter. | vso.serviceendpoint_query |
|
Tjänstkrokar | vso.hooks |
Tjänstkrokar (läs) | Ger möjlighet att läsa prenumerationer och metadata för tjänstkrokar, inklusive händelser som stöds, konsumenter och åtgärder. (Inte längre offentligt.) | vso.profile |
vso.hooks_write |
Tjänstkrokar (läsa och skriva) | Ger möjlighet att skapa och uppdatera prenumerationer på tjänstkrokar och läsa metadata, inklusive händelser, konsumenter och åtgärder som stöds. (Inte längre offentligt.) | vso.hooks |
|
vso.hooks_interact |
Tjänstkrokar (interagera) | Ger möjlighet att interagera och utföra åtgärder på händelser som tas emot via tjänstkrokar. (Inte längre offentligt.) | vso.profile |
|
Inställningar | vso.settings |
Inställningar (läs) | Ger möjlighet att läsa inställningar. | |
vso.settings_write |
Inställningar (läsa och skriva) | Ger möjlighet att skapa och läsa inställningar. | ||
Symboler | vso.symbols |
Symboler (läs) | Ger möjlighet att läsa symboler. | vso.profile |
vso.symbols_write |
Symboler (läsa och skriva) | Ger möjlighet att läsa och skriva symboler. | vso.symbols |
|
vso.symbols_manage |
Symboler (läsa, skriva och hantera) | Ger möjlighet att läsa, skriva och hantera symboler. | vso.symbols_write |
|
Aktivitetsgrupper | vso.taskgroups_read |
Aktivitetsgrupper (läs) | Ger möjlighet att läsa aktivitetsgrupper. | |
vso.taskgroups_write |
Aktivitetsgrupper (läsa, skapa) | Ger möjlighet att läsa och skapa aktivitetsgrupper. | vso.taskgroups_read |
|
vso.taskgroups_manage |
Aktivitetsgrupper (läsa, skapa och hantera) | Ger möjlighet att läsa, skapa och hantera aktivitetsgrupper. | vso.taskgroups_write |
|
Instrumentpanel för team | vso.dashboards |
Teaminstrumentpaneler (läs) | Ger möjlighet att läsa information om teamets instrumentpanel. | |
vso.dashboards_manage |
Teaminstrumentpaneler (hantera) | Ger möjlighet att hantera information om teaminstrumentpaneler. | vso.dashboards |
|
Testhantering | vso.test |
Testhantering (läs) | Ger möjlighet att läsa testplaner, fall, resultat och andra testhanteringsrelaterade artefakter. | vso.profile |
vso.test_write |
Testhantering (läsa och skriva) | Ger möjlighet att läsa, skapa och uppdatera testplaner, fall, resultat och andra testhanteringsrelaterade artefakter. | vso.test |
|
Trådar | vso.threads_full |
PR-trådar | Ger möjlighet att läsa och skriva till kommentarstrådar för pull-begäranden. | |
Token | vso.tokens |
Delegerade auktoriseringstoken | Ger möjlighet att hantera delegerade auktoriseringstoken till användare. | |
vso.tokenadministration |
Tokenadministration | Ger möjlighet att hantera (visa och återkalla) befintliga token till organisationsadministratörer. | ||
Användarprofil | vso.profile |
Användarprofil (läs) | Ger möjlighet att läsa din profil, dina konton, samlingar, projekt, team och andra organisationsartefakter på toppnivå. | |
vso.profile_write |
Användarprofil (skrivning) | Ger möjlighet att skriva till din profil. | vso.profile |
|
Variabelgrupper | vso.variablegroups_read |
Variabelgrupper (läs) | Ger möjlighet att läsa variabelgrupper. | |
vso.variablegroups_write |
Variabelgrupper (läsa, skapa) | Ger möjlighet att läsa och skapa variabelgrupper. | vso.variablegroups_read |
|
vso.variablegroups_manage |
Variabelgrupper (läsa, skapa och hantera) | Ger möjlighet att läsa, skapa och hantera variabelgrupper. | vso.variablegroups_write |
|
Wiki | vso.wiki |
Wiki (läs) | Ger möjlighet att läsa wikis, wiki-sidor och wiki-bifogade filer. Ger också möjlighet att söka på wiki-sidor. | |
vso.wiki_write |
Wiki (läsa och skriva) | Ger möjlighet att läsa, skapa och uppdatera wikis, wiki-sidor och wikibilagor. | vso.wiki |
|
Arbetsobjekt | vso.work |
Arbetsobjekt (läs) | Ger möjlighet att läsa arbetsobjekt, frågor, tavlor, områdes- och iterationssökvägar och andra spårningsrelaterade metadata för arbetsobjekt. Ger även möjlighet att köra frågor, söka efter arbetsobjekt och ta emot meddelanden om arbetsobjekthändelser via tjänstkrokar. | vso.hooks_write |
vso.work_write |
Arbetsobjekt (läsa och skriva) | Ger möjlighet att läsa, skapa och uppdatera arbetsobjekt och frågor, uppdatera brädmetadata, läsa område och iterationssökvägar andra arbetsobjekt som spårar relaterade metadata, köra frågor och ta emot meddelanden om händelser för arbetsobjekt via tjänstkrokar. | vso.work |
|
vso.work_full |
Arbetsobjekt (fullständiga) | Ger fullständig åtkomst till arbetsobjekt, frågor, kvarvarande uppgifter, planer och spårningsmetadata för arbetsobjekt. Ger också möjlighet att ta emot meddelanden om arbetsobjekthändelser via tjänstkrokar. | vso.work_write |
|
Personifiering av användare | user_impersonation |
Personifiering av användare | Ha fullständig åtkomst till REST-API:er för Visual Studio Team Services. Begär och/eller godkänn det här omfånget med försiktighet eftersom det är mycket kraftfullt! |
Ändra omfång för publicerat tillägg
Du kan ändra omfånget för ett publicerat tillägg. Om du tidigare har installerat tillägget (och godkänt den tidigare uppsättningen omfång) auktoriserar du de nya omfången innan du kan uppgradera till den senaste versionen.
Avsnittet Åtgärd krävs i navet Tilläggsinställningar visar en användare som, om någon, installerade tillägg kräver auktorisering:
En administratör kan sedan granska och auktorisera den nya uppsättningen omfång:
Installationsmål
Som namnet antyder definierar installationsmålen de produkter och tjänster där du kan installera tillägget. Microsoft.VisualStudio.Services
är det vanligaste installationsmålet och anger att tillägget kan installeras i Azure DevOps.
Installationsmålen för ett tillägg eller en integrering anges via fältet targets
i manifestet.
Identifierare som stöds för tillägg:
Microsoft.VisualStudio.Services.Cloud
: installeras i Azure DevOps ServicesMicrosoft.TeamFoundation.Server
: installeras i Azure DevOps ServerMicrosoft.VisualStudio.Services
: installeras i båda. Genväg förMicrosoft.VisualStudio.Services.Cloud
ochMicrosoft.TeamFoundation.Server
version[14.2,)
Identifierare som stöds för integreringar:
Microsoft.VisualStudio.Services.Cloud.Integration
: integreras med Azure DevOps ServicesMicrosoft.TeamFoundation.Server.Integration
: integreras med Azure DevOps ServerMicrosoft.VisualStudio.Services.Integration
: integreras med båda. Genväg förMicrosoft.VisualStudio.Services.Cloud.Integration
ochMicrosoft.TeamFoundation.Server.Integration
Mer information finns i Utökningspunkter.
Exempel på installationsmål
Exempel: Tillägg som fungerar med Azure DevOps
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
]
}
Exempel: Tillägg som endast fungerar med Azure DevOps Services
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Cloud"
}
]
}
Installationsmål kan också användas i manifestet för integreringar. Till exempel produkter, appar eller verktyg som fungerar med, men som inte installeras i Azure DevOps.
Exempel: Integrering som fungerar med Azure DevOps
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Integration"
}
]
}
Exempel: Integrering som bara fungerar med Azure DevOps Server
{
"targets": [
{
"id": "Microsoft.TeamFoundation.Server.Integration"
}
]
}
Installationsmålversioner
Vissa installationsmålidentifierare, till exempel Microsoft.TeamFoundation.Server
och Microsoft.TeamFoundation.Server.Integration
, stöder ett valfritt versionsintervall. Det här valfria versionsintervallet förtydligar ytterligare vilka versioner som stöds som tillägget eller integreringen stöds på.
Versions- eller versionsintervallet anges via fältet version
i installationsobjektet. Det här värdet kan vara antingen:
- En specifik version, till exempel:
15.0
(endast 2017 RTM) - Ett antal versioner som stöds, till exempel:
[14.0)
(2015 RTM och senare),[14.3,15.1]
(uppdatering 3 till 2017 uppdatering 1 2015). Intervallvärden förfinas med hjälp av:[
: minimum version inclusive]
: maximal version inkluderande(
: lägsta version exklusiv)
: exklusiv maxversion
Versionsnummer för Azure DevOps Server:
Frisläpp | Versioner | Version |
---|---|---|
2010 | Alla versioner | 10,0 |
2012 | Alla versioner | 11,0 |
2013 | RTM och uppdateringar | 12.0, 12.1, 12.2, 12.3, 12.4 |
2015 | RTM och uppdateringar | 14.0, 14.1, 14.2, 14.3 |
2017 | RTM och uppdateringar | 15.0, 15.1 |
2018 | RTM och uppdateringar | 16.0 |
2019 | RTM och uppdateringar | 17,0 |
2020 | RTM och uppdateringar | 18,0 |
Exempel som visar versioner
Exempel: Tillägg som fungerar med Azure DevOps
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Cloud"
},
{
"id": "Microsoft.TeamFoundation.Server",
"version": "[15.0,)"
}
]
}
Genvägar
Microsoft.VisualStudio.Services
är en genväg för Azure DevOps.
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
]
}
motsvarar:
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Cloud"
},
{
"id": "Microsoft.TeamFoundation.Server",
"version": "[14.2,)"
}
]
}
Använda installationsmål och krav
Installationsmål och krav används tillsammans för att ge användarna en korrekt vy över de produkter/tjänster som tillägget eller integreringen är kompatibel med. Om du till exempel anger ett installationsmål Microsoft.VisualStudio.Services
för med ett behov av api-version/3.0
innebär det att tillägget fungerar med Azure DevOps.
Exempel: Tillägg som använder API:er för version 3.0
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
],
"demands": [
"api-version/3.0"
]
}
Matchar följande installationsmål:
Microsoft.VisualStudio.Services.Cloud
Microsoft.TeamFoundation.Server
version:[15.0,)
Exempel: Integrering som använder API:er för version 2.0
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Integration"
}
],
"demands": [
"api-version/2.0"
]
}
Matchar följande installationsmål:
Microsoft.VisualStudio.Services.Cloud.Integration
Microsoft.TeamFoundation.Server.Integration
version:[14.0,)
Krav
Med krav kan du ange funktioner och andra funktioner som krävs i tillägget. Du kan använda dessa krav för att begränsa var tillägget kan publiceras eller installeras.
Krav används av Visual Studio Marketplace för att lista de produkter och miljöer som tillägget är kompatibelt med, vilket hjälper kunderna att förstå om ditt tillägg fungerar med deras version av Azure DevOps, till exempel.
Se följande exempel på hur krav anges i tilläggsmanifestet.
{
"demands": [
"api-version/3.0",
"contribution/ms.vss-dashboards-web.widget-catalog"
]
}
I det här exemplet kräver tillägget version 3.0 av API:erna, vilket innebär att det bara kan installeras i Azure DevOps. Det kräver ms.vss-dashboards-web
också att tillägget (och dess widget-catalog
bidrag) installeras (och aktiveras) i samlingen innan tillägget kan installeras.
Krav som stöds
Typ | Beskrivning | Har du kontrollerat vid publicering? | Har du kontrollerat vid installationen? |
---|---|---|---|
environment/cloud |
Kräver körning i en molnmiljö | Ja | Ja |
environment/onprem |
Kräver körning i en lokal miljö | Ja | Ja |
api-version/{version} |
Kräver en specifik API-version (minimum) | Nej | Ja |
extension/{id} |
Kräver att ett specifikt tillägg installeras/aktiveras | Nej | Ja |
contribution/{id} |
Kräver att ett specifikt bidrag är tillgängligt | Nej | Ja |
contributionType/{id} |
Kräver att en specifik bidragstyp är tillgänglig | Nej | Ja |
Kommentar
- Använd
environment/cloud
ochenvironment/onprem
endast när tillägget har topologirelaterade krav som kräver körning i just den miljön. extension
,contribution
, ochcontributionType
kraven utvärderas vid installationstillfället och kräver att det angivna tillägget redan har installerats och aktiverats i organisationen/samlingen.
Filer
I files
avsnittet refererar du till alla filer som du vill inkludera i tillägget. Du kan lägga till både mappar och enskilda filer:
{
"files": [
{
"path": "hello-world.html", "addressable": true
},
{
"path": "scripts", "addressable": true
},
{
"path": "images/logo.png", "addressable": true, "packagePath": "/"
}
]
}
Egenskaper
Egenskaper för avsnittet Filer:
- path – Sökväg till resurs på disk, som kan vara relativ till rotkatalogen.
- addressable – (valfritt) Ange till sant om du vill att filen ska vara URL-adresserbar. Standardvärdet är falskt.
- packagePath – (valfritt) Sökväg till resursen i paketet. Standardvärdet är den relativa sökvägen på disken från rotkatalogen.
- contentType – (valfritt) MIME-typ av filen. Standardvärdet är en bästa gissning baserat på filnamnstillägget och inställningarna för operativsystemet.
- assetType – (valfritt) Ange värdet för typattributet för tillgångsposten i VSIX-manifestet. Kan också vara en matris med strängar, i vilket fall flera tillgångsposter läggs till för den här filen. Standardvärdet är packagePath.
- lang – (valfritt) Språk för den här tillgången. Lokaliserade filer hanteras baserat på rubriken Acceptera språk. Lämna tomt för att ange att den här filen är på standardspråket (eller reservspråket). Lokaliserade versioner av samma fil bör ha samma assetType.
Bidrag
Varje bidragspost har följande egenskaper:
- id – ett referens-ID (sträng) för bidraget. Gör varje bidrags-ID unikt i ett tillägg. Se referera till bidrag och typer.
- type – ID för contributionType för det här bidraget.
- description – (Valfritt) En sträng som beskriver vad bidraget ger.
- targets – en matris med bidrags-ID:t som bidraget riktar sig till (bidrar till). Se Målbidrag.
- properties – (Valfritt) Ett objekt som innehåller egenskaper för bidraget enligt definitionen i bidragstypen.
Mer information finns i översikten över bidragsmodellen.
Bidragstyper
Varje bidragspost har följande egenskaper:
- id – ett referens-ID (sträng) för bidragstypen. Gör varje bidragstyps-ID unikt i ett tillägg. Se referera till bidrag och typer.
- name – Det egna namnet på bidragstypen.
- description – (Valfritt) En sträng som mer detaljerat beskriver vad bidragstypen är till för.
- properties – (Valfritt) En ordlista som mappar egenskapsnamn till egenskapsbeskrivningar. Dessa egenskaper beskriver de obligatoriska och valfria egenskaper som bidrag av den här typen kan använda.
Egenskapsbeskrivningar har följande egenskaper:
- description – (Valfritt) En sträng som beskriver vad egenskapen används till.
- required – (Valfritt) Ett booleskt värde, vilket om sant anger att egenskapen krävs för alla bidrag av den här typen.
- type – Den typ av värde som egenskapen kan ha, vilket kan vara sträng, uri, guid, boolesk, heltal, dubbel, dateTime, matris eller objekt.
Mer information finns i översikten över bidragsmodellen.
Referera till bidrag och typer
Använd unika identifierare för att referera till bidrags- och bidragstyper. Referenstyper med egenskapen type
och refererar till andra bidrag med egenskapentargets
.
- En fullständig bidragsreferens innehåller utgivarens identifierare, tilläggsidentifierare och bidrags-/typidentifierare, avgränsade med en punkt (.). Är till exempel
ms.vss-web.hub
den fullständiga identifieraren för bidraget med identifieraren för "hub" i tillägget "vss-web" som publicerats av utgivaren "ms" (Microsoft). - Relativa bidragsreferenser kan användas i ett tilläggsmanifest för ett bidrags referens till en annan bidrags- eller bidragstyp inom samma tillägg. I det här fallet ingår inte utgivaren och tilläggsidentifierarna och identifieraren är en punkt (.) följt av bidragsidentifieraren. Till exempel kan ".hub" användas i tillägget "vss-web" som tidigare nämnts som en genväg för "ms.vss-web.hub".
Rikta in sig på bidrag
Vissa bidrag fungerar som containrar som andra bidrag riktar in sig på.
- Hubbbidrag kan rikta in sig på hubbgrupper. När en sida återges visar webbgränssnittet alla hubbbidrag som riktar sig till den valda hubbgruppen. Hubbgrupper riktar sig till en hubbgruppsamling, som definierar en uppsättning hubbgrupper som visas i ett visst navigeringsområde, till exempel administratörssidor på projektnivå.
- Olika typer av bidrag kan rikta in sig på menyer: åtgärd, hyperlänkåtgärd och åtgärdsprovider. Åtgärder och hyperlänkåtgärder innehåller poster för enskilda menyalternativ. En åtgärdsprovider kan tillhandahålla flera dynamiska menyalternativ. För en viss meny aggregeras objekt över alla bidrag (av någon av dessa typer) som riktar sig mot det specifika menybidraget.
Lägga till en hubbikon
Information om hur du lägger till en ikon i hubben finns i vägledningen för hubbens ikon.
Märkestjänster som stöds
Marketplace stöder endast märken från följande betrodda tjänster:
- 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/
Kommentar
Ersätt "vsmarketplacebadge.apphb.com" med "vsmarketplacebadges.dev".
Om du vill visa ett märke från en annan tjänst kontaktar du kundsupporten i utvecklarcommunityn.
Exempelmanifest
Följande tillägg bidrar med en åtgärd till snabbmenyn för slutförda versioner och en hubb till gruppen Skapa hubb:
{
"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"
}
}
]
}