Sdílet prostřednictvím


Model příspěvku

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Rozšíření do systému přidávají nové funkce tím, že poskytují příspěvky a definují způsoby, jak se k nim připojit další rozšíření. Typ příspěvku definuje něco, co lze přidat do systému. Příspěvek je konkrétní instancí typu příspěvku. Jedná se například hub o typ příspěvku definovaný základním rozšířením od Microsoftu. Centrum Explorer pod skupinou Centra sestavení je konkrétním příspěvkem typu hub.

Další informace najdete na následujících odkazech:

Typy příspěvků

Typ příspěvku definuje kontrakt, který musí všechny příspěvky do systému tohoto typu dodržovat. Typ příspěvku může také rozšířit z jiného typu příspěvku. Následující příklady typů příspěvků definují vlastnosti nastavené instancemi tohoto typu:

  • hub
  • action
  • build-task

Každá definice vlastnosti určuje následující aspekty:

  • Typ vlastnosti, například řetězec, logická hodnota atd.
  • Určuje, jestli je vlastnost povinná.
  • Výchozí hodnota, pokud není určena příspěvkem (volitelné).

Příklad

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

{
    ...
    "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": "An optional ordering value which can indicate in which position to place the hub 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.

Příklad

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 zjišťovat příspěvky pro cíl za běhu. 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 skupina centra vykreslí, systém může dotazovat všechny příspěvky centra, které cílí na skupinu rozbočovačů, aby věděl, která centra se mají vykreslit.

Identifikace příspěvků a typů

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

Ú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

Odkazy na relativní příspěvek můžete použít v manifestu rozšíření pro odkaz na příspěvek na jiný příspěvek nebo typ příspěvku v rámci stejného rozšíření. V tomto případě id vydavatele a rozšíření nejsou zahrnuté a ID příspěvku je tečka . následovaná ID příspěvku. .hub Například lze použít v rámci vss-web rozšíření uvedeného dříve jako zástupce pro ms.vss-web.hub.