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

Obligatoriska attribut

Dessa egenskaper krävs:

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".
Publisher 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 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 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

Property beskrivning Kommentar
Scope En matris med auktoriseringsomfattningar (strängar) med behörigheter som krävs av tillägget. Och anger till exempel vso.workvs.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 timeroch så vidare.
Skärmdumpar 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 -Användaravtal. 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 också 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". "ID" måste matcha 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

Kort

Marketplace Q &A – Egenskapen CustomerQnASupport

Alla tillägg på Visual Studio Marketplace har ett Q&A-avsnitt för att tillåta en-mot-en-offentliga konversationer mellan tilläggsanvändare och utgivare. Utgivare kan välja mellan 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å sant 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 det har behörighet att utföra 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
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.environment_manage Miljö (läsa, hantera) Ger möjlighet att hantera pooler, köer, agenter och miljöer.
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 Flöden (läs) Ger möjlighet att hantera granskningsströmmar till användare.
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.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.
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.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_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_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_status Kod (status) Ger möjlighet att läsa och skriva inchecknings- och pull-begärandestatus.
Anslut server vso.connected_server Anslut server Ger möjlighet att komma åt de 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.
Tillägg vso.extension Tillägg (läs) Ger möjlighet att läsa installerade tillägg.
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.data Tilläggsdata (läs) Ger möjlighet att läsa data (inställningar och dokument) som lagras av installerade tillägg.
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.
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.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.
Datorgrupp vso.machinegroup_manage Distributionsgrupp (läsa, hantera) Ger möjlighet att hantera distributionsgrupp- och agentpooler.
Marketplace vso.gallery Marketplace Ger läsbehörighet till offentliga och privata objekt och utgivare.
vso.gallery_acquire Marketplace (hämta) Ger läsåtkomst och möjlighet att hämta objekt.
vso.gallery_publish Marketplace (publicera) Ger läsåtkomst och möjlighet att ladda upp, uppdatera och dela objekt.
vso.gallery_manage Marketplace (hantera) Ger läsåtkomst och möjlighet att publicera och hantera objekt och utgivare.
Aviseringar vso.notification Meddelanden (läs) Ger läsåtkomst till prenumerationer och händelsemetadata, inklusive filterbara fältvärden.
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_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_diagnostics Meddelanden (diagnostik) Ger åtkomst till meddelanderelaterade diagnostikloggar och ger möjlighet att aktivera diagnostik för enskilda prenumerationer.
Paketering vso.packaging Paketering (läs) Ger möjlighet att läsa feeds och paket.
vso.packaging_write Paketering (läsa och skriva) Ger möjlighet att skapa och läsa feeds och paket.
vso.packaging_manage Paketering (läsa, skriva och hantera) Ger möjlighet att skapa, läsa, uppdatera och ta bort feeds och paket.
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.
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_manage Projekt och team (läsa, skriva och hantera) Ger möjlighet att skapa, läsa, uppdatera och ta bort projekt och team.
Släppa vso.release Release (läs) Ger möjlighet att läsa versionsartefakter, inklusive versioner, versionsdefinitioner och versionsmiljö.
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_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.
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_manage Säkra filer (läsa, skapa och hantera) Ger möjlighet att läsa, skapa och hantera säkra filer.
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.serviceendpoint_query Tjänstslutpunkter (läsning och fråga) Ger möjlighet att läsa och fråga tjänstslutpunkter.
vso.serviceendpoint_manage Tjänstslutpunkter (läsa, fråga och hantera) Ger möjlighet att läsa, fråga och hantera tjänstslutpunkter.
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.symbols_write Symboler (läsa och skriva) Ger möjlighet att läsa och skriva symboler.
vso.symbols_manage Symboler (läsa, skriva och hantera) Ger möjlighet att läsa, skriva och hantera symboler.
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_manage Aktivitetsgrupper (läsa, skapa och hantera) Ger möjlighet att läsa, skapa och hantera aktivitetsgrupper.
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.
Testhantering vso.test Testhantering (läs) Ger möjlighet att läsa testplaner, fall, resultat och andra testhanteringsrelaterade artefakter.
vso.test_write Testhantering (läsa och skriva) Ger möjlighet att läsa, skapa och uppdatera testplaner, fall, resultat och andra testhanteringsrelaterade artefakter.
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.
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_manage Variabelgrupper (läsa, skapa och hantera) Ger möjlighet att läsa, skapa och hantera variabelgrupper.
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.
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.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_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.
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) måste du auktorisera 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:

omfångsändring

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

scope-change-dialogruta

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 Services
  • Microsoft.TeamFoundation.Server: installeras i Azure DevOps Server
  • Microsoft.VisualStudio.Services: installeras i 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] (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.

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

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

Matchar 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ä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 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 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. Varje bidrags ID måste vara 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. Varje bidragstyps ID måste vara 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. Referenstypermed 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 vsmarketplace@microsoft.com.

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