Läs på engelska

Dela via


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å bidragen 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

Dessa egenskaper krävs:

Egendom beskrivning Anteckningar
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 Plansoch Azure Artifacts.

Anteckningar:
    – Använd version >=0.6.3 av tfx-cli om du publicerar tillägget programmatiskt.
    – Om du använder Azure DevOps Extension Tasks-tillägget för att publicera ska du kontrollera 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 TFS-kunder skaffar ditt tillägg via Visual Studio Marketplace (inte lokalt galleri) i ansluten kontext använder du de kategorier som har angetts tidigare.
      – 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

Egendom beskrivning Anteckningar
Scopen En matris med auktoriseringsomfattningar (strängar) med behörigheter som krävs av tillägget. Till exempel anger vso.work och vs.code_write att tillägget behöver skrivskyddad åtkomst till arbetsobjekt och läs-/skrivåtkomst till källkod (och relaterade resurser). 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.
bidragstyper 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"
            }
        }
    ]
}

Upptäcktsattribut

De här valfria egenskaperna hjälper användarna att identifiera och lära sig mer om ditt tillägg:

Fastighet / Egendom beskrivning Anteckningar
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 timeroch 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. Sökvägen till filen i tillägget är för varje objekt path.
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 stöd 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änken som användaren navigerar till när användaren väljer badgen. uri – Den absoluta URL:en för den märkesbild som ska visas. description - Beskrivning av märket, som ska visas när muspekaren förflyttas över.
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.

Gör ett tillägg offentligt

Som standard är alla tillägg på Azure DevOps Marketplace privata. De är endast synliga för utgivaren och de konton som utgivaren har delat till. 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 kontrollen av betalning för licens och kräver inte längre undantaget. För tillfället, se till att ditt tillägg visas som förväntat. Varje åsidosättning består av ett "ID" och ett "beteende". Se till 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"
    } 
}          

Anteckning

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 licensieringen från Microsoft till BYOL-modellen, vänligen kontakta 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

kort

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 Kundfrågor och -svar 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-repository men med Marketplace Q & A i stället för GitHub-ärenden

{
     "CustomerQnASupport": {
        "enablemarketplaceqna":"true"
    } 
}

Exempel: Tillägg som inaktiverar Q &A-avsnitt

{
     "CustomerQnASupport": {
        "enablemarketplaceqna":"false"
    } 
}

Omfattning

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.

Behörighetsområden som stöds

Kategori Omfattning Name Hög risk beskrivning Ärver från
Avancerad säkerhet vso.advsec AdvancedSecurity (läs) Ja Ger möjlighet att läsa aviseringar, resultatexemplar och analysresultatsexemplar.
vso.advsec_write AdvancedSecurity (läsa och skriva) Ja Ger möjlighet att ladda upp analyser i sarif vso.advsec
vso.advsec_manage AdvancedSecurity (läsa, skriva och hantera) Ja 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) Ja Ger möjlighet att hantera pooler, köer och agenter. vso.agentpools
vso.environment_manage Miljö (läsa, hantera) Ja 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 utföra frågor på analysdata.
Granskning vso.auditlog Granskningslogg (läs) Ger användarna möjlighet att läsa granskningsloggen.
vso.auditstreams_manage Revisionsströmmar (läs) Ja 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) Ja 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) Ja 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) Ja 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) Ja Ger fullständig åtkomst till källkod samt metadata om commit-händelser, ändringsuppsättningar, grenar och andra artefakter inom 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 behörighet att läsa och skriva commit- och pull request-statusar.
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 Medlemsrättighetsförvaltning (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) Ja 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äs och hantera) Ja 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) Ja Ger möjlighet att läsa och hantera GitHub-anslutningar och GitHub-lagringsplatser vso.githubconnections
Diagram och identitet vso.graph Diagram (läsning) Ger möjlighet att läsa information om användar-, grupp-, omfångs- och gruppmedlemskap.
vso.graph_manage Diagram (hantering) Ja 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) Ja Ger möjlighet att läsa, skriva och hantera identiteter och grupper. vso.identity
Datorgrupp vso.machinegroup_manage Utrullningsgrupp (läsa, hantera) Ja Ger möjlighet att hantera distributionsgrupp- och agentpooler. vso.agentpools_manage
Marketplace vso.gallery Marknadsplats Ger läsåtkomst till offentliga och privata objekt samt publicerare. 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) Ja Ger läsåtkomst och möjlighet att ladda upp, uppdatera och dela objekt. vso.gallery
vso.gallery_manage Marketplace (hantera) Ja 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 flöden och paket. vso.profile
vso.packaging_write Paketering (läsa och skriva) Ja Ger behörighet att skapa och läsa flöden och paket. vso.packaging
vso.packaging_manage Paketering (läsa, skriva och hantera) Ja Ger möjlighet att skapa, läsa, uppdatera och ta bort mataflöden och paket. vso.packaging_write
Pipelineresurser vso.pipelineresources_use Pipelineresurser (användning) Ja 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 Pipeline-resurser (använd och hantera) Ja 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 gärna Ger tillgång till att läsa projekten och teamen.
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) Ja Ger möjlighet att skapa, läsa, uppdatera och ta bort projekt och team. vso.project_write
Släppa vso.release Släpp (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) Ja 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 Frisläpp (läsa, skriva, köra och administrera) Ja 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
Trygga Filer vso.securefiles_read Säkra filer (läs) Ja Ger möjlighet att läsa säkra filer.
vso.securefiles_write Säkra filer (läsa, skapa) Ja 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) Ja Ger möjlighet att läsa, skapa och hantera säkra filer. vso.securefiles_write
Säkerhet vso.security_manage Säkerhet (hantera) Ja 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äs och fråga) Ger möjlighet att läsa och söka information från slutpunkter för tjänster. vso.serviceendpoint
vso.serviceendpoint_manage Tjänstslutpunkter (läsa, fråga och hantera) Ja Ger möjlighet att läsa, fråga och hantera tjänstslutpunkter. vso.serviceendpoint_query
Service Hooks vso.hooks Servicehakar (läs mer) 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 för service hooks samt läsa metadata, inklusive de händelser, konsumenter och åtgärder som stöds. (Inte längre offentligt.) vso.hooks
vso.hooks_interact Tjänstkrokar för interaktion Ger möjlighet att utföra åtgärder och interagera med händelser som tas emot via service hooks. (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 Uppgiftsgrupper (läs) Ger möjlighet att läsa aktivitetsgrupper.
vso.taskgroups_write Uppgiftsgrupper (läsa, skapa) Ger möjlighet att läsa och skapa aktivitetsgrupper. vso.taskgroups_read
vso.taskgroups_manage Uppgiftsgrupper (läsa, skapa och hantera) Ja Ger möjlighet att läsa, skapa och hantera aktivitetsgrupper. vso.taskgroups_write
Instrumentpanel för team vso.dashboards Teampaneler (läsåtkomst) Ger rätt att läsa information om teamets översiktssida.
vso.dashboards_manage Teamgränssnitt (hantering) Tillåter hantering av teamets instrumentpanelsinformation. 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 i kommentarstrådar för pull request.
Token vso.tokens Delegerade auktoriseringstoken Ja Ger möjlighet att hantera delegerade auktoriseringstoken till användare.
vso.tokenadministration Token-administration Ja 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 (skriv) Ger möjlighet att skriva till din profil. vso.profile
Variabelgrupper vso.variablegroups_read Variabelgrupper (läs) Ger behörighet 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) Ja 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 (att läsa) 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 utföra sökfrågor, söka efter arbetsobjekt och ta emot meddelanden om arbetsobjekthändelser via webbhookar. vso.hooks_write
vso.work_write Arbetsuppgifter (läsa och skriva) Ger möjlighet att läsa, skapa och uppdatera arbetsobjekt och queries, uppdatera tavla metadata, läsa områden och iterationssökvägar samt annan arbetsobjektspårning-relaterad metadata, köra queries och ta emot meddelanden om händelser för arbetsobjekt via service hooks. 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 notifikationer om arbetsobjekthändelser via tjänsteutlösare. vso.work_write
Personifiering av användare user_impersonation Användarförklädnad Ja 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 hubben för Tilläggsinställningar visar användaren om några installerade tillägg måste godkännas.

omfångsändring

En administratör kan sedan granska och auktorisera den nya uppsättningen omfång:

scope-change-dialog

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-tjänster
  • Microsoft.TeamFoundation.Server: installeras på Azure DevOps Server
  • Microsoft.VisualStudio.Services: installeras på båda. Genväg för Microsoft.VisualStudio.Services.Cloud och Microsoft.TeamFoundation.Server version [14.2,)

Identifierare som stöds för integreringar:

  • Microsoft.VisualStudio.Services.Cloud.Integration: integreras med Azure DevOps Services
  • Microsoft.TeamFoundation.Server.Integration: integreras med Azure DevOps Server
  • Microsoft.VisualStudio.Services.Integration: integreras med båda. Genväg för Microsoft.VisualStudio.Services.Cloud.Integration och Microsoft.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] (2015 uppdatering 3 till 2017 uppdatering 1). Intervallvärden förfinas med hjälp av:
    • [: lägsta version inklusive
    • ]: högsta version inklusive
    • (: lägsta version exklusiv
    • ): exklusiv maxversion

Versionsnummer för Azure DevOps Server:

Frisläpp Versioner Version
2010 Alla utgåvor 10,0
2012 Alla utgåvor 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.

Dricks

Mer information om REST-API:er finns i REST API-referensen.

Exempel: Tillägg som använder API:er för version 3.0

{
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services"
        }
    ],
    "demands": [
        "api-version/3.0"
    ]
}

Resulterar i följande installationsmål:

  1. Microsoft.VisualStudio.Services.Cloud
  2. Microsoft.TeamFoundation.Serverversion: [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"
    ]
}

Löser följande installationsmål:

  1. Microsoft.VisualStudio.Services.Cloud.Integration
  2. Microsoft.TeamFoundation.Server.Integrationversion: [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ävs också att ms.vss-dashboards-web-tillägget (och dess widget-catalog-bidrag) installeras (och aktiveras) i samlingen innan ditt tillägg 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

Anteckning

  • Använd environment/cloud och environment/onprem endast när tillägget har topologirelaterade krav som kräver körning i just den miljön.
  • extension, contribution, och contributionType 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 din rotkatalog.
  • addressable – (valfritt) Ange till true om du vill att filen ska vara URL-åtkomlig. Standardvärdet är falskt.
  • packagePath – (valfritt) Sökväg till resursen i paketet. Standardvärdet är den relativa sökvägen från din rotkatalog på disken.
  • contentType – (valfritt) MIME-typ av filen. Det förvalda värdet är den bästa gissningen 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 Inriktade bidrag.
  • 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 hänvisningar till bidrag och typer.
  • name – Det vänliga 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.

Hänvisa till bidragen och typerna

Använd unika identifierare för att referera till bidrags- och bidragstyper. Referera till typer med egenskapen type och referera till andra bidrag med egenskapen targets.

  • En fullständig bidragsreferens innehåller utgivarens identifierare, tilläggsidentifierare och bidrags-/typidentifierare, avgränsade med en punkt (.). Till exempel är ms.vss-web.hub den fullständiga identifieraren för bidraget med identifieraren "hub" i "vss-web"-tillägget, publicerat 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".

Inrikta bidrag

Vissa bidrag fungerar som containrar som andra bidrag riktar in sig på.

  • Hubbidrag kan rikta sig mot 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änksåtgärder erbjuder 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 ikonen till hubben.

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/

Anteckning

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 lägger till en åtgärd till snabbmenyn för slutförda byggen och en hubb till Bygg-hubbgruppen.

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