Udostępnij za pośrednictwem


Model współtworzenia

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Rozszerzenia dodają nowe możliwości do systemu, udostępniając współtworzenie i definiując sposoby podłączania do nich innych rozszerzeń. Typ współtworzenia definiuje coś, co można dodać do systemu. Współtworzenie jest konkretnym wystąpieniem typu współtworzenia. Na przykład hub jest typem współtworzenia zdefiniowanym przez podstawowe rozszerzenie dostarczone przez firmę Microsoft. Centrum Explorer w grupie Centrum kompilacji to określony wkład typu hub.

Więcej informacji można znaleźć w następującej dokumentacji:

Typy kontrybuców

Typ współtworzenia definiuje umowę, z którą muszą być zgodne wszystkie współtworzenie systemu tego typu. Typ współtworzenia może również rozciągać się od innego typu współtworzenia. Następujące przykłady typów współtworzenia definiują właściwości ustawione przez wystąpienia tego typu:

  • hub
  • action
  • build-task

Każda definicja właściwości określa następujące aspekty:

  • Typ właściwości, na przykład ciąg, wartość logiczna itd.
  • Czy właściwość jest wymagana
  • Wartość domyślna, jeśli nie jest określona przez współtworzenie (opcjonalnie).

Przykład

Oto przykład deklaracji typu współtworzenia w manifeście rozszerzenia:

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

Udziały

Współtworzenie jest wystąpieniem typu współtworzenia. Na przykład Queries centrum w grupie Centrum pracy jest współtworzem typu hub , a Publish Test Results zadanie kompilacji jest współtworzenie typu build-task.

Wszystkie współtworzenie musi określać typ i określać wartości dla wszystkich właściwości wymaganych przez ten typ udziału.

Przykład

Oto przykład deklaracji współtworzenia centrum w manifeście rozszerzenia:

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

Udział docelowy

Udział może być ukierunkowany na co najmniej jeden inny wkład, który tworzy relację między wkładem a każdym z jego celów. System może odnajdywać współtworzenie elementu docelowego w czasie wykonywania. Na przykład współtworzenie hub (Explorer) może dotyczyć określonego hub-group udziału (Build).

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

Gdy grupa piasty jest renderowana, system może wysyłać zapytania o wszystkie współtworzenie koncentratora, które są przeznaczone dla grupy koncentratora, aby wiedzieć, które koncentratory mają być renderowane.

Identyfikowanie kontrybutów i typów

Każdy typ współtworzenia i współtworzenia musi mieć unikatowy identyfikator w rozszerzeniu, w nim zadeklarowanym.

Pełny identyfikator współtworzenia zawiera następujące elementy, które należy oddzielić kropką . :

  • Identyfikator wydawcy
  • Identyfikator rozszerzenia
  • Identyfikator udziału/typu

Na przykład: ms.vss-web.hub jest pełnym identyfikatorem następującego udziału:

  • Identyfikator wydawcy: ms
  • Identyfikator rozszerzenia: vss-web
  • Identyfikator udziału/typu: hub

Odwołania do współtworzenia względnego można używać w manifeście rozszerzenia dla odwołania współtworzenia do innego typu współtworzenia lub współtworzenia w ramach tego samego rozszerzenia. W takim przypadku identyfikatory wydawcy i rozszerzenia nie są uwzględniane, a identyfikator jest kropką . , po której następuje identyfikator udziału. Na przykład .hub można użyć w vss-web rozszerzeniu wymienionym wcześniej jako skrót dla elementu ms.vss-web.hub.