Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Rozszerzenia dodają nowe funkcjonalności w usłudze Azure DevOps, deklarując typy kontrybucji i instancje kontrybucji. Typ wkładu definiuje kontrakt (właściwości i zachowanie), które musi implementować wkład tego typu. Kontrybucja to konkretne wystąpienie typu kontrybucji (na przykład węzeł lub zadanie kompilacji).
Wskazówka
Jeśli rozpoczynasz nowe rozszerzenie dla Azure DevOps, wypróbuj najpierw te utrzymywane przykładowe kolekcje — działają one z aktualnymi kompilacjami produktu i obejmują nowoczesne scenariusze, takie jak dodawanie kart na stronach żądań pull request.
- Przykład rozszerzenia usługi Azure DevOps (GitHub) — kompaktowy przykład startowy, który demonstruje typowe wzorce rozszerzeń: https://github.com/microsoft/azure-devops-extension-sample
- Przykłady rozszerzeń usługi Azure DevOps (przewodnik dotyczący starszej kolekcji i współtworzenia) — instalowanie w celu sprawdzenia celów interfejsu użytkownika lub wyświetlenie źródła: https://marketplace.visualstudio.com/items/ms-samples.samples-contributions-guide i https://github.com/Microsoft/vso-extension-samples/tree/master/contributions-guide
- Przykłady usługi Microsoft Learn (przeglądanie przykładów usługi Azure DevOps) — wyselekcjonowane, aktualne przykłady w witrynie Microsoft Docs: /samples/browse/?terms=azure%20devops%20extension
Jeśli przykładowa aplikacja nie działa w Twojej organizacji, zainstaluj ją w organizacji testowej lub osobistej i porównaj docelowe identyfikatory oraz wersje API manifestu rozszerzenia z bieżącymi dokumentami. Aby uzyskać informacje i interfejsy API, sprawdź:
Aby uzyskać więcej informacji, zobacz:
Typy kontrybuców
Typ wkładu definiuje właściwości i reguły, których wkłady tego typu muszą przestrzegać. Typ kontrybucji może rozszerzać inny typ kontrybucji, dziedzicząc jego właściwości.
Typowe typy współtworzenia obejmują:
hubactionbuild-task
Każda definicja właściwości obejmuje:
- typ właściwości (na przykład ciąg lub wartość logiczna)
- czy właściwość jest wymagana
- opcjonalna wartość domyślna
Example
Deklaracja typu udziału w manifeście wygląda następująco:
{
"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"
}
}
}
]
}
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.
Example
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 ramach rozszerzenia vss-web wymienionego wcześniej jako skrótu dla ms.vss-web.hub.