Dela via


Bidragsmodell

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Tillägg lägger till funktioner i Azure DevOps genom bidrag och bidragstyper som deklareras i tilläggsmanifestet. En bidragstyp definierar ett kontrakt – de egenskaper och beteenden som bidrag av den typen måste implementera. Ett bidrag är en konkret instans av en bidragstyp (till exempel en hubb eller en bygguppgift).

Tips/Råd

Om du startar ett nytt Azure DevOps-tillägg kan du prova dessa underhållsexempelsamlingar först – de fungerar med aktuella produktversioner och täcker moderna scenarier (till exempel att lägga till flikar på sidor med pull-begäranden).

Installera det i en personlig organisation eller testorganisation om ett exempel inte fungerar i din organisation och jämför mål-ID för tilläggsmanifestet och API-versioner med de aktuella dokumenten. För referens och API:er, se:

Mer information finns i:

Bidragstyper

En bidragstyp definierar de egenskaper och regler som bidrag av den typen måste följa. Bidragstyper kan utöka andra bidragstyper och ärva deras egenskaper.

Vanliga inbyggda bidragstyper är:

  • ms.vss-web.hub – en sida i webbgränssnittet
  • ms.vss-web.action — en menyåtgärd
  • ms.vss-distributed-task.task — en bygg-/versionsuppgift

Varje egenskapsdefinition i en bidragstyp anger:

  • type – datatypen (till exempel string, boolean, integer)
  • krävs – om fastigheten måste tillhandahållas
  • default – ett valfritt standardvärde

Exempel på bidragstyp

En deklaration av bidragstyp i ett manifest ser ut så här:

{
  "contributionTypes": [
    {
      "id": "hub",
      "name": "Web Access Hub",
      "description": "A hub that appears in the hubs menu at the top of web pages.",
      "properties": {
        "name": {
          "description": "The text to display for the hub",
          "type": "string",
          "required": true
        },
        "uri": {
          "description": "URI of the contents of the hub page",
          "type": "string",
          "required": true
        },
        "order": {
          "description": "Optional ordering value indicating the hub's position within the hub group",
          "type": "integer"
        }
      }
    }
  ]
}

Bidrag

Ett bidrag är en instans av en bidragstyp. Hubben under gruppen Arbetshubb är till exempel Queries ett bidrag av typen ms.vss-web.hub, och byggaktiviteten Publish Test Results är ett bidrag av typen ms.vss-distributed-task.task.

Varje bidrag måste ange en typ och ange värden för alla egenskaper som krävs av den typen.

Exempel på bidrag

Följande hubbbidragsdeklaration i ett tilläggsmanifest lägger till en hubb med namnet "Explorer" i en build hub-grupp:

{
    "contributions": [
        {
            "id": "build-explorer-hub",
            "type": "ms.vss-web.hub",
            "targets": [
                ".build-hub-group"
            ],
            "properties": {
                "name": "Explorer",
                "uri": "/_build",
                "order": 22
            }
        }
    ]
}

Målbidrag

Ett bidrag kan rikta in sig på ett eller flera andra bidrag, vilket skapar en överordnad-underordnad relation. Systemet identifierar dessa relationer vid körningstid för att avgöra vad som ska renderas. Ett hub bidrag riktar sig mot ett hub-group bidrag, så att systemet vet vilka hubbar som tillhör vilken grupp.

{
    "id": "build-explorer-hub",
    "type": "ms.vss-web.hub",
    "targets": [
        ".build-hub-group"
    ]
}

När hubbgruppen återges söker systemet upp alla hubbbidrag som riktar sig till den för att bestämma vilka hubbar som ska visas.

Bidragsidentifierare

Varje bidrag och bidragstyp måste ha ett unikt ID i tillägget.

En fullständigt kvalificerad identifierare har tre delar avgränsade med punkter (.):

Del Example
Utgivar-ID ms
Tilläggs-ID vss-web
Bidrag/typ-ID hub

Fullständig identifierare: ms.vss-web.hub

I samma tilläggsmanifest kan du använda relativa referenser – en punkt följt av bidrags-ID:t. Är till exempel .hub en genväg för ms.vss-web.hub när den används i vss-web tillägget.