Sdílet prostřednictvím


Model příspěvku

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

Rozšíření přidávají do Azure DevOps možnosti deklarováním typů příspěvků a instancí příspěvků. Typ příspěvku definuje kontrakt (vlastnosti a chování), který musí implementovat příspěvky daného typu. Příspěvek je konkrétní instance typu příspěvku (například centrum nebo úloha sestavení).

Návod

Pokud spouštíte nové rozšíření Azure DevOps, vyzkoušejte nejdřív tyto spravované ukázkové kolekce – pracují s aktuálními buildy produktů a pokrývají moderní scénáře (například přidávání karet na stránkách žádostí o přijetí změn).

Pokud ukázka ve vaší organizaci nefunguje, nainstalujte ji do osobní nebo testovací organizace a porovnejte cílové ID manifestu rozšíření a verze rozhraní API s aktuálními dokumenty. Referenční informace a rozhraní API najdete tady:

Další informace najdete tady:

Typy příspěvků

Typ příspěvku definuje vlastnosti a pravidla, která musí dodržovat příspěvky daného typu. Typ příspěvku může rozšířit další typ příspěvku, který dědí jeho vlastnosti.

Mezi běžné typy příspěvků patří:

  • hub
  • action
  • build-task

Každá definice vlastnosti zahrnuje:

  • typ vlastnosti (například řetězec nebo logická hodnota)
  • zda je vlastnost povinná
  • volitelná výchozí hodnota

Example

Deklarace typu příspěvku v manifestu vypadá takto:

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

Příspěvky

Příspěvek je instancí typu příspěvku. Například Queries centrum pod skupinou Pracovního centra je příspěvek typu hub a Publish Test Results úkol sestavení je příspěvek typu build-task.

Všechny příspěvky musí zadat typ a zadat hodnoty pro všechny vlastnosti vyžadované tímto typem příspěvku.

Example

Tady je příklad deklarace příspěvku centra v manifestu rozšíření:

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

Cílové příspěvky

Příspěvek může cílit na jeden nebo více jiných příspěvků, což vytváří vztah mezi příspěvkem a každým z jeho cílů. Systém může za běhu odhalovat příspěvky k cíli. Například hub příspěvek (Explorer) může cílit na konkrétní hub-group příspěvek (Build).

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

Když se vykreslí skupina rozbočovačů, systém může dotazovat všechny příspěvky rozbočovačů, které cílí na skupinu, aby věděl, které rozbočovače se mají vykreslit.

Identifikace příspěvků a typů

Každý příspěvek a jeho typ musí mít jedinečné ID v rámci rozšíření, ve kterém je deklarován.

Úplný identifikátor příspěvku obsahuje následující položky, které oddělíte tečkou . :

  • ID vydavatele
  • ID rozšíření
  • ID příspěvku nebo typu

Například: ms.vss-web.hub je úplný identifikátor pro následující příspěvek:

  • ID vydavatele: ms
  • ID rozšíření: vss-web
  • ID příspěvku nebo typu: hub

V manifestu rozšíření můžete použít relativní odkazy na jednotlivé příspěvky, které odkazují na jiné příspěvky nebo typy příspěvků v rámci stejného rozšíření. V tomto případě nejsou zahrnuty ID vydavatele a rozšíření, a ID tvoří tečka . následovaná ID příspěvku. Například .hub lze použít v rozšíření vss-web zmíněném dříve jako zástupce pro ms.vss-web.hub.