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
Każde rozszerzenie ma plik manifestu JSON, który definiuje podstawowe informacje o rozszerzeniu. Plik definiuje również sposób rozszerzania i ulepszania doświadczenia. W tym artykule pokazano, jak utworzyć manifest dla rozszerzenia usługi Azure DevOps.
Napiwek
Zapoznaj się z naszą najnowszą dokumentacją dotyczącą programowania rozszerzeń przy użyciu zestawu SDK rozszerzenia usługi Azure DevOps.
Utwórz plik o nazwie vss-extension.json w katalogu głównym folderu rozszerzenia. Ten plik zawiera wymagane atrybuty, takie jak identyfikator rozszerzenia i jego obiekty docelowe instalacji, w których można go uruchomić. Określa także wkład wnoszony przez rozszerzenie.
Zobacz następujący przykład typowego manifestu:
{
"manifestVersion": 1,
"id": "tools",
"version": "0.1.0",
"name": "Fabrikam Tools",
"publisher": "fabrikam",
"description": "Awesome tools to help you and your team do great things everyday.",
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
],
"icons": {
"default": "images/fabrikam-logo.png"
},
"scopes": [
"vso.work",
"vso.code_write",
"vso.build_execute"
],
"categories": [
"Azure Boards"
],
"branding": {
"color": "rgb(34, 34, 34)",
"theme": "dark"
},
"content": {
"details": {
"path": "readme.md"
},
"license": {
"path": "eula.md"
}
},
"links": {
"getstarted": {
"uri": "https://www.fabrikam-fiber-inc.com/help/getstarted"
},
"support": {
"uri": "https://www.fabrikam-fiber-inc.com/support"
}
},
"repository": {
"type": "git",
"uri": "https://github.com/fabrikam-fiber-inc/myextension"
},
"contributions": [
{
"id": "showCommits",
"type": "ms.vss-web.action",
"description": "Adds a menu action from builds grid to show associated items.",
"targets": [
"ms.vss-build-web.completed-build-menu"
],
"properties": {
"title": "View associated items",
"uri": "launch.html"
}
}
],
"files": [
{
"path": "launch.html",
"addressable": true
},
{
"path": "node_modules/vss-web-extension-sdk/lib",
"addressable": true,
"packagePath": "lib"
}
]
}
Aby uzyskać informacje o danych wejściowych, zobacz ...
Wymagane atrybuty
Wymagane są następujące właściwości:
| Nieruchomość | opis | Uwagi |
|---|---|---|
| manifestVersion | Liczba odpowiadająca wersji formatu manifestu. | powinna mieć wartość 1. |
| Identyfikator | Identyfikator rozszerzenia. | Th ID to ciąg, który musi być unikatowy wśród rozszerzeń od tego samego wydawcy. Musi zaczynać się od znaku alfabetycznego lub liczbowego i zawierać znaki "A" od "Z", "a" do "z", "0" do "9" i "-" (łącznik). Przykład: sample-extension. |
| wersja | Ciąg określający wersję rozszerzenia. | Powinien mieć format major.minor.patch, na przykład 0.1.2 lub 1.0.0. Możesz również dodać czwartą liczbę dla następującego formatu: 0.1.2.3 |
| nazwa | Krótka, czytelna dla człowieka nazwa rozszerzenia. Ograniczone do 200 znaków. | Przykład: "Fabrikam Agile Board Extension". |
| wydawca | Identyfikator wydawcy. | Ten identyfikator musi być zgodny z identyfikatorem, pod którym jest publikowane rozszerzenie. Zobacz Tworzenie wydawcy i zarządzanie nim. |
| Kategorie | Tablica ciągów reprezentujących kategorie, do których należy twoje rozszerzenie. Należy podać co najmniej jedną kategorię i nie ma limitu liczby uwzględnień kategorii. | Prawidłowe wartości: Azure Repos, , Azure BoardsAzure Pipelines, Azure Test Plansi Azure Artifacts.Uwagi:
— Jeśli używasz rozszerzenia Azure DevOps Extension Tasks do publikowania, upewnij się, że jego wersja to co najmniej >1.2.8. Może być konieczne zatwierdzenie aktualizacji rozszerzenia z powodu ostatnich zmian zakresu. — wymienione wcześniej kategorie są natywnie dostępne na platformach Visual Studio Marketplace i Azure DevOps Server 2019 & powyżej. |
| Cele | Produkty i usługi obsługiwane przez integrację lub rozszerzenie. Aby uzyskać więcej informacji, zobacz cele instalacji. | Tablica obiektów, w której każdy obiekt ma id pole wskazujące jedno z następujących elementów:
Microsoft.VisualStudio.Services (rozszerzenia współpracujące z usługą Azure DevOps),- Microsoft.TeamFoundation.Server (rozszerzenie, które współpracuje z usługą Azure DevOps Server),- Microsoft.VisualStudio.Services.Integration, - Microsoft.TeamFoundation.Server.Integration (integracje współpracujące z usługą Azure DevOps Server) |
Przykłady wymaganych atrybutów
{
"manifestVersion": 1,
"id": "tools",
"version": "0.1.0",
"name": "Fabrikam Tools",
"publisher": "fabrikam",
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
]
}
Atrybuty opcjonalne
Atrybuty środowiska uruchomieniowego
| Nieruchomość | opis | Uwagi |
|---|---|---|
| Zakresy | Tablica zakresów autoryzacji (ciągów) wyświetla uprawnienia wymagane przez rozszerzenie. | Na przykład, vso.work i vs.code_write wskazują, że rozszerzenie wymaga dostępu tylko do odczytu do elementów roboczych oraz dostępu do odczytu i zapisu do kodu źródłowego (oraz powiązanych zasobów). Zakresy są prezentowane użytkownikowi podczas instalowania rozszerzenia. Aby uzyskać więcej informacji, zobacz pełną listę zakresów. |
| wymagania | Tablica żądań (ciągów) przedstawiająca możliwości wymagane przez rozszerzenie. | Na przykład wskazuje, api-version/3.0 że rozszerzenie używa interfejsów API w wersji 3.0 i nie może działać w starszych produktach, które nie obsługują tej wersji. Aby uzyskać więcej informacji, zobacz pełną listę żądań. |
| baseUri | (Opcjonalnie) podstawowy adres URL dla wszystkich relatywnych adresów URL określonych przez wkłady rozszerzenia. | Na przykład: https://myapp.com/{{account.name}}/. Ta właściwość powinna pozostać pusta, jeśli zawartość rozszerzenia jest spakowana wraz z rozszerzeniem. |
| Wkłady | Zbiór wkładów do systemu. | |
| typy wkładu | Tablica typów współtworzenia zdefiniowanych przez rozszerzenie |
{
"scopes": [
"vso.work",
"vso.code_write",
"vso.build_execute"
],
"demands": [
"api-version/3.0"
],
"contributions": [
{
"id": "showCommits",
"type": "ms.vss-web.action",
"description": "Adds a menu action from builds grid to show associated items.",
"targets": [
"ms.vss-build-web.completed-build-menu"
],
"properties": {
"title": "View associated items",
"uri": "launch.html"
}
}
]
}
Atrybuty odnajdywania
Następujące opcjonalne właściwości ułatwiają użytkownikom odnajdywanie i poznawanie rozszerzenia:
| Nieruchomość | opis | Uwagi |
|---|---|---|
| opis | Kilka zdań opisujących rozszerzenia. Ograniczone do 200 znaków. | Opis powinien być krótką prezentacją rozszerzenia — kilka zdań, które opisują rozszerzenie w Marketplace i sprawiają, że ludzie chcą je zainstalować. Zobacz poniższy przykład |
| Ikony | Słownik ikon reprezentujący rozszerzenie. | Prawidłowe klucze: default (128x128 pikseli) typu BMP, GIF, EXIF, JPG, PNG i TIFF. Inne klucze, takie jak large (512x512 pikseli) mogą być obsługiwane w przyszłości. Wartość każdego klucza to ścieżka do pliku ikony w rozszerzeniu |
| tagi | Tablica tagów ciągów ułatwia użytkownikom znajdowanie rozszerzenia. | Przykłady: agile, , project managementtask timeri tak dalej. |
| zrzuty ekranu | Zestaw obrazów, których nie można było uwzględnić w twojej zawartości. | Zrzuty ekranu są bardziej wartościowe, gdy są zamieszczane w zawartości i powinny być wykorzystywane do stworzenia wysokiej jakości strony ze szczegółami rynkowymi dla rozszerzenia. Użyj zrzutów ekranu, aby uzyskać mniej ważne obrazy, które nie są opisywane w zawartości. Każdy obraz powinien mieć rozmiar 1366 x 768 pikseli. Każdy path element jest ścieżką do pliku w rozszerzeniu. |
| zawartość | Słownik plików zawartości opisujących rozszerzenie dla użytkowników. |
Każde rozszerzenie powinno zawierać solidną zawartość. W ten sposób pokażesz użytkownikom, co może zrobić rozszerzenie. Spraw, aby było bogate, łatwe do przyswojenia i załączaj zrzuty ekranu w razie potrzeby.
overview.md Dołącz plik jako podstawowy element zawartości. Zakłada się, że każdy plik jest w formacie GitHub Flavored Markdown.
path każdego elementu jest ścieżką do pliku Markdown w rozszerzeniu. Prawidłowe klucze: details. Inne klucze mogą być obsługiwane w przyszłości. |
| Linki | Słownik linków, które pomagają użytkownikom dowiedzieć się więcej o Twoim rozszerzeniu, uzyskać pomoc techniczną i kontynuować. | Prawidłowe klucze: getstarted — pierwsze kroki, sposób konfigurowania lub używania.
learn — głębsza zawartość ułatwiając użytkownikom lepsze zrozumienie rozszerzenia lub usługi.
license — umowa licencyjna użytkownika końcowego.
privacypolicy - zasady ochrony prywatności dla rozszerzenia.
support — uzyskaj pomoc i wsparcie dla rozszerzenia. Wartość każdego klucza jest obiektem z polem uri , które jest bezwzględnym adresem URL łącza |
| repozytorium | Słownik właściwości opisujących repozytorium kodu źródłowego dla rozszerzenia | Prawidłowe klucze: type — typ repozytorium. Przykład: git.
uri - Bezwzględny adres URL repozytorium. |
| Odznaki | Tablica linków do zewnętrznych znaczków metadatycznych, takich jak TravisCI, Appveyor itd., z zatwierdzonych witryn znaczkowych | Prawidłowy klucz: href — Link, do którego użytkownik przejdzie po wybraniu badża.
uri - Bezwzględny adres URL obrazu odznaki do wyświetlenia.
description - Opis odznaki, która ma być wyświetlana po najechaniu kursorem. |
| Marki | Słownik właściwości związanych z marką. | Prawidłowe klucze: color — podstawowy kolor rozszerzenia lub wydawcy: może to być szesnastkowy (#ff00ff), RGB (rgb(100,200,50)) lub obsługiwane nazwy kolorów HTML (niebieski).
theme - uzupełnia kolor; używaj ciemnych kolorów znakowania lub jasnego dla jaśniejszych kolorów znakowania. |
Oznacz rozszerzenie jako publiczne
Domyślnie wszystkie rozszerzenia w witrynie Azure DevOps Marketplace są prywatne. Są one ukryte w widoku publicznym i są widoczne tylko dla wydawcy i określonych kont udostępnionych przez wydawcę. Jeśli wydawca zostanie zweryfikowany, możesz upublicznić rozszerzenie, ustawiając flagę Public w manifeście rozszerzenia:
{
"galleryFlags": [
"Public"
]
}
Lub:
{
"public": true
}
Aby uzyskać więcej informacji, zobacz Package/Publish/Install.
Oznaczanie rozszerzenia, które ma być w wersji zapoznawczej
Jeśli rozszerzenie jest gotowe dla użytkowników w witrynie Marketplace do wypróbowania, ale nadal pracujesz nad kilkoma usterkami lub dodawaniem funkcji, możesz oznaczyć ją jako preview:
{
"galleryFlags": [
"Preview"
]
}
Oznaczanie rozszerzenia jako płatnej wersji zapoznawczej
Jeśli zamierzasz sprzedać rozszerzenie w witrynie Marketplace, oznacz je jako płatną wersję zapoznawcza. Nie można zmienić rozszerzenia oznaczonego bezpłatnie na płatne.
{
"galleryFlags": [
"Paid",
"Preview"
]
}
Oznacz rozszerzenie jako płatne
Jeśli chcesz sprzedać rozszerzenie na Marketplace, możesz oznaczyć je flagą Paid i tagiem __BYOLENFORCED (który zaczyna się od dwóch podkreśleń):
{
"galleryFlags": [
"Paid"
],
"tags": [
"__BYOLENFORCED"
]
}
Zarówno flaga Paid , jak i __BYOLENFORCED tag muszą być obecne, aby oznaczyć rozszerzenie jako płatne w witrynie Marketplace. Bring-Your-Own-License (BYOL) oznacza, że wydawca rozszerzenia udostępnia mechanizm rozliczeń i licencjonowania rozszerzenia, ponieważ nie jest on dostarczany przez firmę Microsoft dla rozszerzeń Usługi DevOps platformy Azure. Wszystkie płatne rozszerzenia są wymagane do zdefiniowania zasad ochrony prywatności, zasad pomocy technicznej i umowy licencyjnej użytkownika końcowego. Wydawcy muszą podać zawartość karty cennika w witrynie Marketplace w następujący sposób:
{
"content": {
"details": {
"path": "overview.md"
},
"pricing": {
"path": "pricing.md"
}
}
}
Musisz również dodać nową sekcję w manifeście rozszerzenia, aby zastąpić płatne licencjonowanie. W przyszłości usuniemy kontrolę płatnego licencjonowania i nie będziemy już wymagać nadpisywania ustawień. Na razie upewnij się, że rozszerzenie jest wyświetlane zgodnie z oczekiwaniami. Każde zastąpienie składa się z "ID" i "zachowania". Dopasuj "ID" do wartości ID wkładów zdefiniowanych w manifeście.
"licensing": {
"overrides": [
{ "id": "my-hub", "behavior": " AlwaysInclude" }
]
}
Jeśli płatne rozszerzenie BYOL oferuje okres próbny (zalecamy to), możesz określić długość okresu próbnego w dniach:
{
"galleryproperties": {
"trialDays": "30"
}
}
Uwaga
Jeśli chcesz wycelować w Azure DevOps, ale nie chcesz, aby opcja Pobierz była dostępna dla twojego rozszerzenia, dodaj znacznik __DoNotDownload (rozpoczynający się od dwóch podkreśleń) do manifestu rozszerzenia.
Jeśli przenosisz rozszerzenie z wcześniej oferowanego licencjonowania rozliczeniowego & firmy Microsoft do modelu BYOL, skontaktuj się z nami, aby uzyskać odpowiednie kroki.
Przykład większej liczby właściwości
{
"description": "Awesome tools to help you and your team do great things everyday.",
"icons": {
"default": "images/fabrikam-logo.png"
},
"categories": [
"Plan and track"
],
"tags": [
"working",
"people person",
"search"
],
"content": {
"details": {
"path": "overview.md"
},
"license": {
"path": "license-terms.md"
}
},
"links": {
"home": {
"uri": "https://www.fabrikam-fiber-inc.com"
},
"getstarted": {
"uri": "https://www.fabrikam-fiber-inc.com/help/getstarted"
},
"learn": {
"uri": "https://www.fabrikam-fiber-inc.com/features"
},
"support": {
"uri": "https://www.fabrikam-fiber-inc.com/support"
},
"repository": {
"uri": "https://github.com/fabrikam-fiber-inc/tools"
},
"issues": {
"uri": "https://github.com/fabrikam-fiber-inc/tools/issues"
}
},
"repository": {
"type": "git",
"uri": "https://github.com/fabrikam-fiber-inc/tools"
},
"badges": [
{
"href": "https://travis.ci/fabrikam-fiber-inc/myextension",
"uri": "https://travis.ci/fabrikam-fiber-inc/myextension.svg?branch=master",
"description": "TravisCI build for the project"
},
{
"href": "https://ci.appveyor.com/projects/fabrikam-fiber-inc/myextension",
"uri": "https://ci.appveyor.com/api/projects/status/vlg2sgs2y7tsdxpj4c?svg=true",
"description": "AppVeyor build for the project"
}
],
"branding": {
"color": "rgb(34, 34, 34)",
"theme": "dark"
},
"screenshots": [
{
"path": "screenshots/screen1.png"
},
{
"path": "screenshots/screen2.png"
}
]
}
Przykład strony szczegółów
- 1 — opis
- 2 — ikona
- 3 — kategorie
- 4 — zrzuty ekranu
- 5 — zawartość (szczegóły)
- 6 - łącza
- 7 — znakowanie
Pytania i odpowiedzi Marketplace — właściwość CustomerQnASupport
Wszystkie rozszerzenia na Visual Studio Marketplace mają sekcję Pytania i odpowiedzi (Q & A), aby umożliwić jeden-na-jeden publiczną rozmowę między użytkownikami rozszerzeń i wydawcami. Wydawcy mogą wybierać między ofertą Marketplace Q & A, zagadnieniami w GitHub lub niestandardowym adresem URL Q & A. W witrynie Marketplace można wyłączyć funkcję Q & A przy użyciu właściwości CustomerQnASupport w manifeście.
Środowisko domyślne (nie są wymagane żadne zmiany manifestu)
- W przypadku rozszerzeń z repozytorium GitHub witryna Marketplace przekierowuje użytkowników w sekcji Pytań i odpowiedzi do skojarzonych problemów z usługą GitHub.
- W przypadku rozszerzeń bez repozytorium GitHub jest włączona obsługa pytań i odpowiedzi w witrynie Marketplace.
Aby uzyskać inne doświadczenie niż standardowe opcje, użyj właściwości CustomerQnASupport w manifeście.
{
"CustomerQnASupport": {
"enablemarketplaceqna": true,
"url": "http://uservoice.visualstudio.com"
}
}
Właściwości
Właściwości sekcji Customer Q & A Support (Obsługa techniczna dla klientów):
-
enablemarketplaceqna — pole logiczne, ustawione na wartość
truedla marketplace lub niestandardowego Q&A; false, aby wyłączyć pytania i odpowiedzi - url — ciąg, adres URL dla niestandardowych pytań i odpowiedzi
Przykłady przedstawiające użycie obsługi języka Q &A
Przykład: rozszerzenie korzystające z niestandardowego języka Q & A
{
"CustomerQnASupport": {
"enablemarketplaceqna":"true",
"url": "http://uservoice.visualstudio.com"
}
}
Przykład: rozszerzenie z repozytorium GitHub, ale korzystanie z Marketplace Q&A zamiast zgłoszeń problemów na GitHubie
{
"CustomerQnASupport": {
"enablemarketplaceqna":"true"
}
}
Przykład: wyłączanie sekcji pytań i odpowiedzi
{
"CustomerQnASupport": {
"enablemarketplaceqna":"false"
}
}
Zakresy
W rozszerzeniu można zdefiniować jeden lub więcej zakresów. Te zakresy określają zasoby, do których rozszerzenie może uzyskać dostęp, oraz operacje dozwolone do wykonania na tych zasobach. Zakresy określone w manifeście rozszerzenia to zakresy ustawione dla tokenów dostępu wystawionych dla rozszerzenia. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie i zabezpieczenia.
Jeśli nie określono żadnych zakresów, rozszerzenia mają dostęp tylko do danych profilu użytkownika i rozszerzenia.
Obsługiwane zakresy
| Kategoria | Scope | Nazwa/nazwisko | Wysoki poziom uprawnień | opis | Dziedziczy z |
|---|---|---|---|---|---|
| Zabezpieczenia zaawansowane | vso.advsec |
Zabezpieczenia zaawansowane (odczyt) | Tak | Przyznaje możliwość odczytywania alertów, wystąpień wyników i wystąpień wyników analizy. | |
vso.advsec_write |
Zabezpieczenia zaawansowane (odczyt i zapis) | Tak | Przyznaje możliwość przekazywania analiz w serif. | vso.advsec |
|
vso.advsec_manage |
Zabezpieczenia zaawansowane (odczyt, zapis i zarządzanie) | Tak | Przyznaje możliwość przekazywania analiz w serif. | vso.advsec_write |
|
| Pule agentów | vso.agentpools |
Pule agentów (odczyt) | Umożliwia wyświetlanie zadań, pul, kolejek, agentów i aktualnie uruchomionych lub ostatnio ukończonych zadań dla agentów. | ||
vso.agentpools_manage |
Pule agentów (odczyt i zarządzanie nimi) | Tak | Umożliwia zarządzanie pulami, kolejkami i agentami. | vso.agentpools |
|
vso.environment_manage |
Środowisko (odczyt i zarządzanie) | Tak | Umożliwia zarządzanie pulami, kolejkami, agentami i środowiskami. | vso.agentpools_manage |
|
| Analiza danych | vso.analytics |
Analityka (odczyt) | Przyznaje możliwość wykonywania zapytań dotyczących danych analitycznych. | ||
| Auditing | vso.auditlog |
Dziennik inspekcji (odczyt) | Umożliwia odczytywanie dziennika inspekcji użytkownikom. | ||
vso.auditstreams_manage |
Strumienie inspekcji (odczyt) | Tak | Umożliwia zarządzanie strumieniami inspekcji użytkownikom. | vso.auditlog |
|
| Build | vso.build |
Buduj (czytaj) | Umożliwia dostęp do artefaktów kompilacji, w tym wyników kompilacji, definicji i żądań oraz możliwość odbierania powiadomień o zdarzeniach kompilacji za pośrednictwem punktów zaczepienia usługi. | vso.hooks_write |
|
vso.build_execute |
Kompilacja (odczyt i uruchomienie) | Tak | Umożliwia dostęp do artefaktów kompilacji, w tym wyników kompilacji, definicji i żądań. Umożliwia również kolejkowanie kompilacji, aktualizowanie właściwości kompilacji i odbieranie powiadomień o zdarzeniach kompilacji za pośrednictwem punktów zaczepienia usługi. | vso.build |
|
| Code | vso.code |
Kod (odczyt) | Umożliwia odczytywanie kodu źródłowego i metadanych dotyczących komitów, zestawów zmian, gałęzi i innych artefaktów kontroli wersji. Umożliwia również wyszukiwanie kodu i otrzymywanie powiadomień o zdarzeniach kontroli wersji za pośrednictwem haków serwisowych. | vso.hooks_write |
|
vso.code_write |
Kod (odczyt i zapis) | Tak | Umożliwia odczytywanie, aktualizowanie i usuwanie kodu źródłowego oraz uzyskiwanie dostępu do metadanych dotyczących zatwierdzeń, zestawów zmian, gałęzi i innych artefaktów kontroli wersji. Ponadto umożliwia tworzenie żądań ściągnięcia i przeglądów kodu oraz zarządzanie nimi oraz otrzymywanie powiadomień o zdarzeniach kontroli wersji za pośrednictwem punktów zaczepienia usługi. | vso.code |
|
vso.code_manage |
Kod (odczyt, zapis i zarządzanie) | Tak | Umożliwia odczytywanie, aktualizowanie i usuwanie kodu źródłowego, uzyskiwanie dostępu do metadanych dotyczących zatwierdzeń, zestawów zmian, gałęzi i innych artefaktów kontroli wersji. Umożliwia również tworzenie repozytoriów kodu i zarządzanie nimi, tworzenie żądań ściągnięcia i przeglądów kodu oraz odbieranie powiadomień o zdarzeniach kontroli wersji za pośrednictwem punktów zaczepienia usługi. | vso.code_write |
|
vso.code_full |
Kod (pełny) | Tak | Udziela pełnego dostępu do kodu źródłowego, metadanych dotyczących zatwierdzeń, zestawów zmian, gałęzi i innych artefaktów kontroli wersji. Ponadto umożliwia tworzenie repozytoriów kodu i zarządzanie nimi, tworzenie żądań ściągnięcia i przeglądów kodu oraz odbieranie powiadomień o zdarzeniach kontroli wersji za pośrednictwem punktów zaczepienia usługi. Obejmuje również ograniczoną obsługę interfejsów API klienta OM. | vso.code_manage |
|
vso.code_status |
Kod (status) | Umożliwia odczytywanie i zapisywanie stanu zatwierdzenia i żądania ściągnięcia. | |||
| Serwer połączony | vso.connected_server |
Serwer połączony | Umożliwia dostęp do punktów końcowych potrzebnych z lokalnego serwera połączonego. | ||
| Uprawnienia | vso.entitlements |
Uprawnienia (odczyt) | Udziela dostępu tylko do odczytu do punktów końcowych uprawnień licencjonowania w celu uzyskania uprawnień do konta. | ||
vso.memberentitlementmanagement |
Zarządzanie upoważnieniami członków (odczyt) | Umożliwia odczytywanie użytkowników, ich licencji oraz projektów i rozszerzeń, do których mogą uzyskiwać dostęp. | |||
vso.memberentitlementmanagement_write |
Zarządzanie upoważnieniami składowymi (zapis) | Tak | Umożliwia zarządzanie użytkownikami i ich licencjami oraz projektami i rozszerzeniami, do których mogą uzyskiwać dostęp. | vso.memberentitlementmanagement |
|
| Extensions | vso.extension |
Rozszerzenia (odczyt) | Przyznaje możliwość odczytywania zainstalowanych rozszerzeń. | vso.profile |
|
vso.extension_manage |
Rozszerzenia (odczyt i zarządzanie nimi) | Tak | Przyznaje możliwość instalowania, odinstalowywania i wykonywania innych akcji administracyjnych na zainstalowanych rozszerzeniach. | vso.extension |
|
vso.extension.data |
Dane rozszerzenia (odczyt) | Umożliwia odczytywanie danych (ustawień i dokumentów) przechowywanych przez zainstalowane rozszerzenia. | vso.profile |
||
vso.extension.data_write |
Dane rozszerzenia (odczyt i zapis) | Umożliwia odczytywanie i zapisywanie danych (ustawień i dokumentów) przechowywanych przez zainstalowane rozszerzenia. | vso.extension.data |
||
| Połączenia usługi GitHub | vso.githubconnections |
Połączenia usługi GitHub (odczyt) | Umożliwia odczytywanie połączeń usługi GitHub i danych repozytoriów GitHub. | ||
vso.githubconnections_manage |
Połączenia usługi GitHub (odczyt i zarządzanie nimi) | Tak | Umożliwia odczytywanie połączeń usługi GitHub i danych repozytoriów GitHub oraz zarządzanie nimi. | vso.githubconnections |
|
| Graf i tożsamość | vso.graph |
Graf (do odczytu) | Umożliwia odczytanie informacji o użytkownikach, grupach, zakresie i członkostwie w grupach. | ||
vso.graph_manage |
Zarządzanie Grafem | Tak | Umożliwia odczytywanie informacji o użytkowniku, grupie, zakresie i członkostwie w grupach, dodawaniu użytkowników i grup oraz zarządzaniu członkostwem w grupach. | vso.graph |
|
vso.identity |
Tożsamość (odczyt) | Umożliwia odczytywanie tożsamości i grup. | |||
vso.identity_manage |
Zarządzanie tożsamością | Tak | Daje możliwość odczytu, zapisu i zarządzania tożsamościami i grupami. | vso.identity |
|
| Grupa maszyn | vso.machinegroup_manage |
Grupa wdrażania (przeczytaj, zarządzaj) | Tak | Umożliwia zarządzanie grupami wdrożeń i pulami agentów. | vso.agentpools_manage |
| Marketplace | vso.gallery |
Marketplace | Przyznaje możliwość odczytu elementom publicznym, prywatnym oraz wydawcom. | vso.profile |
|
vso.gallery_acquire |
Marketplace (nabyć) | Przyznaje dostęp do odczytu i możliwość uzyskiwania przedmiotów. | vso.gallery |
||
vso.gallery_publish |
Marketplace (opublikuj) | Tak | Przyznaje uprawnienia do odczytu oraz możliwość przesyłania, aktualizowania i udostępniania elementów. | vso.gallery |
|
vso.gallery_manage |
Zarządzanie Marketplace | Tak | Przyznaje dostęp do odczytu oraz możliwość publikowania i zarządzania elementami oraz wydawcami. | vso.gallery_publish |
|
| Notifications | vso.notification |
Powiadomienia (odczyt) | Udziela dostępu do odczytu do subskrypcji i metadanych zdarzeń, w tym do filtrowania wartości pól. | vso.profile |
|
vso.notification_write |
Powiadomienia (zapis) | Przyznaje dostęp do odczytu i zapisu do subskrypcji oraz dostęp do odczytu do metadanych zdarzeń, w tym wartości pól z możliwością filtrowania. | vso.notification |
||
vso.notification_manage |
Powiadomienia - Zarządzanie | Przyznaje dostęp do odczytu, zapisu i zarządzania subskrypcjami oraz dostęp do odczytu do metadanych zdarzeń, w tym wartości pól z możliwością filtrowania. | vso.notification_write |
||
vso.notification_diagnostics |
Powiadomienia (diagnostyka) | Udziela dostępu do dzienników diagnostycznych związanych z powiadomieniami i przyznaje możliwość włączania diagnostyki dla poszczególnych subskrypcji. | vso.notification |
||
| Opakowanie | vso.packaging |
Pakowanie (czytaj) | Przyznaje możliwość odczytywania kanałów wiadomości i pakietów. | vso.profile |
|
vso.packaging_write |
Pakowanie (odczyt i zapis) | Tak | Przyznaje możliwość tworzenia i odczytywania kanałów danych i pakietów. | vso.packaging |
|
vso.packaging_manage |
Pakietowanie (odczyt, zapis i zarządzanie) | Tak | Umożliwia tworzenie, odczytywanie, aktualizowanie i usuwanie kanałów i pakietów. | vso.packaging_write |
|
| Zasoby rurociągu | vso.pipelineresources_use |
Zasoby potoku (użyj) | Tak | Umożliwia zatwierdzenie żądania potoku użycia chronionego zasobu: puli agentów, środowiska, kolejki, repozytorium, bezpiecznych plików, połączenia z usługą i grupy zmiennych. | |
vso.pipelineresources_manage |
Zasoby potoku (używanie i zarządzanie nimi) | Tak | Umożliwia zarządzanie chronionym zasobem lub żądaniem dotyczącym użycia chronionego zasobu: puli agentów, środowiska, kolejki, repozytorium, bezpiecznych plików, połączenia z usługą i grupy zmiennych. | vso.pipelineresources_use |
|
| Projekt i zespół | vso.project |
Projekt i zespół (odczyt) | Umożliwia odczytywanie projektów i zespołów. | ||
vso.project_write |
Projekt i zespół (odczyt i zapis) | Udziela możliwość odczytywania i aktualizowania projektów i zespołów. | vso.project |
||
vso.project_manage |
Projekt i zespół (odczyt, zapis i zarządzanie) | Tak | Przyznaje możliwość tworzenia, odczytywania, aktualizowania i usuwania projektów i zespołów. | vso.project_write |
|
| Uwolnij | vso.release |
Wydanie (przeczytaj) | Przyznaje możliwość odczytywania artefaktów wydania, w tym wydań, definicji wydania i środowiska wydania. | vso.profile |
|
vso.release_execute |
Wydanie (odczyt, zapis i wykonywanie) | Tak | Daje możliwość odczytywania i aktualizowania artefaktów wydania, w tym wydań, definicji wydania i środowiska wydania. Ponadto przyznaje możliwość kolejkowania nowej wersji. | vso.release |
|
vso.release_manage |
Wydanie (odczyt, zapis, wykonywanie i zarządzanie) | Tak | Przyznaje możliwość odczytywania, aktualizowania i usuwania artefaktów wydania, w tym wydań, definicji wydania i środowiska wydania. Ponadto umożliwia kolejkę i zatwierdzanie nowej wersji. | vso.release_execute |
|
| Zabezpieczanie plików | vso.securefiles_read |
Zabezpieczanie plików (odczyt) | Tak | Przyznaje możliwość odczytywania bezpiecznych plików. | |
vso.securefiles_write |
Zabezpieczanie plików (odczyt i tworzenie) | Tak | Umożliwia odczytywanie i tworzenie bezpiecznych plików. | vso.securefiles_read |
|
vso.securefiles_manage |
Zabezpieczanie plików (odczyt, tworzenie i zarządzanie nimi) | Tak | Daje możliwość odczytywania, tworzenia i zarządzania bezpiecznymi plikami. | vso.securefiles_write |
|
| Zabezpieczenia | vso.security_manage |
Zabezpieczenia (zarządzanie) | Tak | Przyznaje możliwość odczytu, zapisu i zarządzania uprawnieniami zabezpieczeń. | |
| Połączenia usługowe | vso.serviceendpoint |
Punkty końcowe usługi (odczyt) | Umożliwia odczytywanie punktów końcowych usługi. | vso.profile |
|
vso.serviceendpoint_query |
Punkty końcowe usługi (odczyt i zapytanie) | Daje możliwość odczytywania oraz zapytań do punktów końcowych usługi. | vso.serviceendpoint |
||
vso.serviceendpoint_manage |
Punkty końcowe usługi (odczyt, wykonywanie zapytań i zarządzanie nimi) | Tak | Daje możliwość odczytu, wykonywania zapytań i zarządzania punktami końcowymi usługi. | vso.serviceendpoint_query |
|
| Zaczepy serwisowe | vso.hooks |
Haczyki serwisowe (odczyt) | Umożliwia odczytywanie subskrypcji hooków serwisowych i metadanych, w tym obsługiwanych zdarzeń, konsumentów i działań. (Nie jest już publiczny). | vso.profile |
|
vso.hooks_write |
Punkty zaczepienia systemu (odczyt i zapis danych) | Przyznaje możliwość tworzenia i aktualizowania subskrypcji punktów zaczepienia usługi oraz odczytywania metadanych, w tym obsługiwanych zdarzeń, odbiorców i akcji. (Nie jest już publiczny). | vso.hooks |
||
vso.hooks_interact |
Hooki serwisowe (interakcja) | Umożliwia interakcję i wykonywanie akcji na zdarzeniach odebranych za pośrednictwem hooków usługi. (Nie jest już publiczny). | vso.profile |
||
| Ustawienia | vso.settings |
Ustawienia (odczyt) | Przyznaje możliwość odczytywania ustawień. | ||
vso.settings_write |
Ustawienia (odczyt i zapis) | Przyznaje możliwość odczytu i zapisu ustawień. | vso.settings |
||
| Symbols | vso.symbols |
Symbole (odczyt) | Przyznaje możliwość odczytywania symboli. | vso.profile |
|
vso.symbols_write |
Symbole (odczyt i zapis) | Przyznaje możliwość odczytywania i zapisywania symboli. | vso.symbols |
||
vso.symbols_manage |
Symbole (odczyt, zapis i zarządzanie) | Umożliwia odczytywanie symboli, zapisywanie i zarządzanie nimi. | vso.symbols_write |
||
| Grupy zadań | vso.taskgroups_read |
Grupy zadań (odczyt) | Daje możliwość odczytywania grup zadań. | ||
vso.taskgroups_write |
Grupy zadań (odczyt i tworzenie) | Umożliwia odczytywanie i tworzenie grup zadań. | vso.taskgroups_read |
||
vso.taskgroups_manage |
Grupy zadań (odczyt, tworzenie i zarządzanie nimi) | Tak | Umożliwia odczytywanie, tworzenie grup zadań i zarządzanie nimi. | vso.taskgroups_write |
|
| Pulpit nawigacyjny zespołu | vso.dashboards |
Tablice zespołu (widok) | Umożliwia dostęp do informacji z pulpitu nawigacyjnego zespołu. | ||
vso.dashboards_manage |
Tablice zespołowe (zarządzanie) | Umożliwia zarządzanie danymi panelu zespołu. | vso.dashboards |
||
| Zarządzanie testami | vso.test |
Zarządzanie testami (odczyt) | Daje możliwość odczytywania planów testów, przypadków, wyników i innych artefaktów związanych z zarządzaniem testami. | vso.profile |
|
vso.test_write |
Zarządzanie testami (odczyt i zapis) | Umożliwia odczytywanie, tworzenie i aktualizowanie planów testów, przypadków, wyników i innych artefaktów związanych z zarządzaniem testami. | vso.test |
||
| Threads | vso.threads_full |
Wątki pull requestu | Umożliwia odczytywanie i zapisywanie wątków komentarzy do żądań pull request. | ||
| Tokens | vso.tokens |
Tokeny autoryzacji delegowanej | Tak | Przyznaje użytkownikom możliwość zarządzania delegowanymi tokenami autoryzacji. | |
vso.tokenadministration |
Administrowanie tokenami | Tak | Przyznaje możliwość zarządzania istniejącymi tokenami (wyświetlaniem i odwoływaniem) administratorom organizacji. | ||
| Profil użytkownika | vso.profile |
Profil użytkownika (odczyt) | Umożliwia odczytywanie profilu, kont, kolekcji, projektów, zespołów i innych artefaktów organizacyjnych najwyższego poziomu. | ||
vso.profile_write |
Profil użytkownika (wpisz) | Przyznaje możliwość pisania na twoim profilu. | vso.profile |
||
| Grupy zmiennych | vso.variablegroups_read |
Grupy zmiennych (odczyt) | Przyznaje możliwość odczytywania grup zmiennych. | ||
vso.variablegroups_write |
Grupy zmiennych (odczyt i tworzenie) | Umożliwia odczytywanie i tworzenie grup zmiennych. | vso.variablegroups_read |
||
vso.variablegroups_manage |
Grupy zmiennych (odczyt, tworzenie i zarządzanie nimi) | Tak | Przyznaje możliwość odczytywania, tworzenia i zarządzania grupami zmiennych. | vso.variablegroups_write |
|
| Wiki | vso.wiki |
Wiki (czytanie) | Umożliwia odczytywanie stron typu wiki, stron typu wiki i załączników typu wiki. Ponadto umożliwia wyszukiwanie stron typu wiki. | ||
vso.wiki_write |
Witryna typu wiki (odczyt i zapis) | Umożliwia odczytywanie, tworzenie i aktualizowanie stron typu wiki, stron typu wiki i załączników typu wiki. | vso.wiki |
||
| Przedmioty robocze | vso.work |
Elementy robocze (odczyt) | Umożliwia odczytywanie elementów roboczych, zapytań, tablic, ścieżek obszaru i iteracji oraz innych metadanych związanych ze śledzeniem elementów roboczych. Umożliwia również wykonywanie zapytań, wyszukiwanie elementów roboczych i odbieranie powiadomień o zdarzeniach elementów roboczych za pośrednictwem punktów zaczepienia usługi. | vso.hooks_write |
|
vso.work_write |
Elementy robocze (odczyt i zapis) | Daje możliwość odczytywania, tworzenia i aktualizowania elementów roboczych oraz zapytań, metadanych tablicy aktualizacji, ścieżek obszaru odczytu i iteracji oraz innych metadanych związanych ze śledzeniem elementów roboczych, wykonywania zapytań i odbierania powiadomień o zdarzeniach elementów roboczych za pośrednictwem punktów zaczepienia usługi. | vso.work |
||
vso.work_full |
Elementy robocze (pełne) | Zapewnia pełny dostęp do elementów roboczych, zapytań, list prac, planów i metadanych śledzenia elementów roboczych. Umożliwia również odbieranie powiadomień o zdarzeniach elementów roboczych za pośrednictwem punktów zaczepienia usługi. | vso.work_write |
||
| Personifikacja użytkownika | user_impersonation |
Personifikacja użytkownika | Tak | Udziela pełnego dostępu do interfejsów API REST usługi Visual Studio Team Services. Żądaj lub wyrażaj zgody na ten zakres z ostrożnością, ponieważ jest bardzo zaawansowany. |
Zmiana zakresu opublikowanego rozszerzenia
Zakres opublikowanego rozszerzenia można zmienić. Jeśli wcześniej zainstalowałeś rozszerzenie (i autoryzowałeś poprzedni zestaw uprawnień), autoryzuj nowe uprawnienia przed uaktualnieniem do najnowszej wersji.
Sekcja Akcja wymagana w ustawieniach rozszerzenia pokazuje użytkownikowi, które z zainstalowanych rozszerzeń wymagają autoryzacji:
Administrator może następnie przejrzeć i autoryzować nowy zestaw zakresów:
Miejsca docelowe instalacji
Jak wskazuje nazwa, cele instalacji definiują produkty i usługi, w których można zainstalować rozszerzenie.
Microsoft.VisualStudio.Services jest najczęstszym celem instalacji i wskazuje, że rozszerzenie można zainstalować w usłudze Azure DevOps.
Cele instalacji rozszerzenia lub integracji są określane za pośrednictwem targets pola w manifeście.
Obsługiwane identyfikatory rozszerzeń:
-
Microsoft.VisualStudio.Services.Cloud: instaluje się w usługach Azure DevOps Services -
Microsoft.TeamFoundation.Server: instaluje się w usłudze Azure DevOps Server -
Microsoft.VisualStudio.Services: instaluje się w obu. Skrót doMicrosoft.VisualStudio.Services.CloudiMicrosoft.TeamFoundation.Serverwersji[14.2,)
Obsługiwane identyfikatory dla integracji:
-
Microsoft.VisualStudio.Services.Cloud.Integration: integruje się z usługą Azure DevOps Services -
Microsoft.TeamFoundation.Server.Integration: integruje się z usługą Azure DevOps Server -
Microsoft.VisualStudio.Services.Integration: integruje się z obydwoma. Skrót dlaMicrosoft.VisualStudio.Services.Cloud.IntegrationiMicrosoft.TeamFoundation.Server.Integration
Aby uzyskać więcej informacji, zobacz Punkty rozszerzalności.
Przykłady miejsc docelowych instalacji
Przykład: rozszerzenie współpracujące z usługą Azure DevOps
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
]
}
Przykład: rozszerzenie, które działa tylko z usługą Azure DevOps Services
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Cloud"
}
]
}
Cele instalacji mogą być również używane w manifeście integracji. Na przykład produkty, aplikacje lub narzędzia, z którymi pracujesz, ale nie instaluj ich w usłudze Azure DevOps.
Przykład: integracja, która współpracuje z usługą Azure DevOps
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Integration"
}
]
}
Przykład: integracja, która działa tylko z usługą Azure DevOps Server
{
"targets": [
{
"id": "Microsoft.TeamFoundation.Server.Integration"
}
]
}
Wersje docelowe instalacji
Niektóre identyfikatory docelowe instalacji, takie jak Microsoft.TeamFoundation.Server i Microsoft.TeamFoundation.Server.Integration, obsługują opcjonalny zakres wersji. Ten opcjonalny zakres wersji dodatkowo wyjaśnia obsługiwane wersje rozszerzenia lub integracji.
Wersja lub zakres wersji jest określony za pośrednictwem version pola w obiekcie docelowym instalacji. Ta wartość może być następująca:
- Określona wersja, na przykład:
15.0(tylko RTM 2017) - Zakres obsługiwanych wersji, na przykład:
[14.0)(2015 RTM i nowsze),[14.3,15.1](2015 Update 3 do 2017 Update 1). Wartości zakresu są uściślone przy użyciu:-
[: minimalna wersja włącznie -
]: wersja maksymalna włącznie -
(: wersja minimalna wyłączna -
): maksymalna wersja na wyłączność
-
Numery wersji serwera Azure DevOps Server:
| Uwolnij | Nowości | Wersja |
|---|---|---|
| 2010 | Wszystkie wersje | 10,0 |
| 2012 | Wszystkie wersje | 11,0 |
| 2013 | RTM i aktualizacje | 12.0, 12.1, 12.2, 12.3, 12.4 |
| 2015 | RTM i aktualizacje | 14.0, 14.1, 14.2, 14.3 |
| 2017 | RTM i aktualizacje | 15.0, 15.1 |
| 2018 | RTM i aktualizacje | 16.0 |
| 2019 | RTM i aktualizacje | 17,0 |
| 2020 | RTM i aktualizacje | 18,0 |
Przykłady przedstawiające wersje
Przykład: rozszerzenie współpracujące z usługą Azure DevOps
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Cloud"
},
{
"id": "Microsoft.TeamFoundation.Server",
"version": "[15.0,)"
}
]
}
Skróty
Microsoft.VisualStudio.Services to skrót do usługi Azure DevOps.
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
]
}
jest odpowiednikiem:
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Cloud"
},
{
"id": "Microsoft.TeamFoundation.Server",
"version": "[14.2,)"
}
]
}
Korzystanie z celów instalacji i wymagań
Cele instalacji i wymagania są używane razem do prezentowania użytkownikom poprawnego widoku produktów i usług, z których twoje rozszerzenie lub integracja jest zgodna. Na przykład określenie docelowego miejsca instalacji Microsoft.VisualStudio.Services z wymogiem api-version/3.0 oznacza, że rozszerzenie działa z usługą Azure DevOps.
Napiwek
Aby uzyskać więcej informacji na temat interfejsów API REST, zobacz Dokumentację REST API.
Przykład: rozszerzenie korzystające z interfejsów API w wersji 3.0
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
],
"demands": [
"api-version/3.0"
]
}
Rozwiązuje następujące cele instalacji:
Microsoft.VisualStudio.Services.Cloud-
Microsoft.TeamFoundation.Server, Wersja:[15.0,)
Przykład: integracja korzystająca z interfejsów API w wersji 2.0
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Integration"
}
],
"demands": [
"api-version/2.0"
]
}
Rozwiązuje następujące cele instalacji:
Microsoft.VisualStudio.Services.Cloud.Integration-
Microsoft.TeamFoundation.Server.Integration, Wersja:[14.0,)
Wymagania
Wymagania umożliwiają określenie możliwości i innych funkcji wymaganych przez rozszerzenie. Możesz użyć tych wymagań, aby ograniczyć miejsce publikowania lub instalowania rozszerzenia.
Wymagania są używane przez witrynę Visual Studio Marketplace, aby wyświetlić listę produktów i środowisk, z którymi twoje rozszerzenie jest zgodne, co pomaga klientom zrozumieć, czy rozszerzenie działa z ich wersją usługi Azure DevOps, na przykład.
Zobacz poniższy przykład sposobu, w jaki wymagania są określone w manifeście rozszerzenia.
{
"demands": [
"api-version/3.0",
"contribution/ms.vss-dashboards-web.widget-catalog"
]
}
W tym przykładzie rozszerzenie wymaga wersji 3.0 interfejsów API, co oznacza, że można go zainstalować tylko w usłudze Azure DevOps. Wymaga również, aby rozszerzenie ms.vss-dashboards-web (i jego widget-catalog wkład) było zainstalowane (i włączone) w kolekcji przed zainstalowaniem Twojego rozszerzenia.
Obsługiwane wymagania
| Typ | opis | Sprawdzone podczas publikowania? | Sprawdzono instalację? |
|---|---|---|---|
environment/cloud |
Wymaga uruchomienia w środowisku chmury | Tak | Tak |
environment/onprem |
Wymaga uruchomienia w środowisku lokalnym | Tak | Tak |
api-version/{version} |
Wymaga określonej wersji interfejsu API (minimalna) | Nie. | Tak |
extension/{id} |
Wymaga zainstalowania/włączenia określonego rozszerzenia | Nie. | Tak |
contribution/{id} |
Wymaga udostępnienia określonego wkładu | Nie. | Tak |
contributionType/{id} |
Wymaga, aby dostępny był określony typ wkładu | Nie. | Tak |
Uwaga
- Użyj
environment/cloudienvironment/onpremtylko wtedy, gdy twoje rozszerzenie ma wymagania związane z topologią, które wymagają uruchomienia w konkretnym środowisku. -
extension,contribution, icontributionTypeżądania są oceniane podczas instalacji i wymagają, że określone rozszerzenie jest już zainstalowane i włączone w organizacji lub kolekcji.
Files
Sekcja files zawiera odwołania do wszystkich plików, które mają zostać dołączone do rozszerzenia. Można dodawać zarówno foldery, jak i pojedyncze pliki:
{
"files": [
{
"path": "hello-world.html", "addressable": true
},
{
"path": "scripts", "addressable": true
},
{
"path": "images/logo.png", "addressable": true, "packagePath": "/"
}
]
}
Właściwości
Właściwości sekcji Pliki:
- path — ścieżka do zasobu na dysku, która może być względna względem katalogu głównego.
- addressable — (opcjonalnie) ustaw wartość true , jeśli chcesz, aby plik był adresowalny pod adresem URL. Wartość domyślna to false.
- packagePath — (opcjonalnie) ścieżka do zasobu w pakiecie. Domyślnie jest to ścieżka względna na dysku, zaczynająca się od katalogu głównego.
- contentType — opcjonalny typ MIME pliku. Domyślnie opiera się na najlepszym domyśle na podstawie rozszerzenia pliku i ustawień systemu operacyjnego.
- assetType — (opcjonalnie) Określ wartość atrybutu Type wpisu zasobu w manifeście VSIX. Może być również tablicą ciągów, w takim przypadku do tego pliku zostanie dodanych wiele wpisów zasobów. Domyślnie jest ustawione na ścieżkę packagePath.
- lang — (opcjonalnie) Język tego elementu zawartości. Zlokalizowane pliki są serwowane na podstawie nagłówka Accept-Language. Pozostaw wartość pustą, aby oznaczyć ten plik w domyślnym (lub rezerwowym) języku. Zlokalizowane wersje tego samego pliku powinny mieć ten sam typ zasobu.
Udziały
Każdy wpis wkładu ma następujące właściwości:
- id — referencyjny identyfikator (tekst) dla udziału. Upewnij się, że każdy identyfikator wkładu jest unikatowy w ramach rozszerzenia. Zobacz odniesienia do wkładów i typów.
- type — Identyfikator typu wkładu tego udziału.
- description — (Opcjonalnie) Ciąg opisujący, co udostępnia wkład.
- targets — tablica identyfikatorów wkładów, na które kierowane są współtworzenia. Zobacz Ukierunkowanie wkładów.
- properties — (opcjonalnie) Obiekt, który zawiera właściwości wkładu jako zdefiniowane w typie wkładu.
Aby uzyskać więcej informacji, zobacz omówienie modelu współtworzenia.
Typy wkładów
Każdy wpis wkładu ma następujące właściwości:
- id — identyfikator odniesienia (ciąg znaków) dla typu udziału. Upewnij się, że każdy identyfikator typu wkładu jest unikatowy w obrębie rozszerzenia. Zobacz odniesienia do wkładów i typów.
- name — przyjazna nazwa typu udziału.
- description — (Opcjonalnie) Ciąg opisujący bardziej szczegółowo typ udziału.
- properties — Słownik (opcjonalnie) mapujący nazwy właściwości na ich opisy. Te cechy opisują wymagane i opcjonalne właściwości, których mogą używać wkłady tego rodzaju.
Opisy właściwości mają następujące cechy:
- description — (opcjonalnie) Ciąg opisujący, do czego służy właściwość.
- required — (Opcjonalnie) Wartość logiczna, która wskazuje, że właściwość jest wymagana dla wszystkich wkładów tego typu, jeśli wartość jest true.
- type — typ wartości, którą może mieć właściwość, która może być ciągiem, identyfikatorem URI, identyfikatorem GUID, wartością logiczną, liczbą całkowitą, podwójną, datą/godziną, tablicą lub obiektem.
Aby uzyskać więcej informacji, zobacz omówienie modelu współtworzenia.
Odniesienie do wkładów i typów
Użyj unikatowych identyfikatorów, aby odwoływać się do wkładów i rodzajów wkładów. Odwołaj się do typów za pomocą właściwości type i odwołaj się do innych wkładów za pomocą właściwości targets.
- Pełne odniesienie wkładu obejmuje identyfikator wydawcy, identyfikator rozszerzenia oraz identyfikator wkładu/typu, oddzielony kropką (.). Na przykład
ms.vss-web.hubjest pełnym identyfikatorem dla udziału, które ma identyfikatorhubw rozszerzeniuvss-webopublikowanym przez wydawcę "ms" (Microsoft). -
Odwołania do wkładu względnego mogą być używane w manifeście rozszerzenia w celu odniesienia się do innego wkładu lub typu wkładu w ramach tego samego rozszerzenia. W tym przypadku identyfikatory wydawcy i rozszerzenia nie są uwzględniane, a identyfikator jest kropką (
.), a następnie identyfikatorem udziału. Na przykład.hubmożna użyć w ramach rozszerzeniavss-webwymienionego wcześniej jako skrótu dlams.vss-web.hub.
Kierowanie wkładem
Niektóre wkłady działają jako kontenery, na które są ukierunkowane inne wkłady.
- Wkład w koncentrator może dotyczyć Grup Hubu. Gdy strona jest renderowana, interfejs webowy wyświetla wszystkie wkłady do centrum skierowane do wybranej grupy centrum. Grupy hubów są przeznaczone dla kolekcji grup hubów, która definiuje zestaw grup pokazywanych w określonym obszarze nawigacyjnym, na przykład na stronach administracyjnych na poziomie projektu.
- Różne typy wkładów mogą być skierowane na menu: akcja, akcja-hiperłącze i dostawca działań. Akcje i akcje hiperłączy zapewniają wpisy pojedynczych elementów menu. Dostawca akcji może udostępnić wiele dynamicznych elementów menu. Dla danego menu elementy są agregowane we wszystkich wkładach (dowolnego z tych typów), które dotyczą tego konkretnego wkładu do menu.
Dodawanie ikony centrum
Aby uzyskać informacje na temat dodawania ikony do centrum, zapoznaj się ze wskazówkami dotyczącymi ikony centrum.
Obsługiwane usługi odznaki
Witryna Marketplace obsługuje tylko znaczki z następujących zaufanych usług:
- api.travis-ci.org/
- badge.fury.io/
- badges.frapsoft.com/
- badges.gitter.im/
- badges.greenkeeper.io/
- cdn.travis-ci.org/
- ci.appveyor.com/
- codeclimate.com/
- codecov.io/
- coveralls.io/
- david-dm.org/
- gemnasium.com/
- img.shields.io/
- isitmaintained.com/
- marketplace.visualstudio.com/
- snyk.io/
- travis-ci.com/
- travis-ci.org/
- vsmarketplacebadges.dev/
- bithound.io/
- deepscan.io/
- githost.io/
- gitlab.com/
- opencollective.co/
Uwaga
Zastąp vsmarketplacebadge.apphb.comvsmarketplacebadges.dev.
Aby wyświetlić znaczek z innej usługi, skontaktuj się z Obsługą Klienta w Społeczności Deweloperów.
Przykładowy manifest
Następujące rozszerzenie dodaje akcję do menu kontekstowego ukończonych kompilacji i element w grupie Centrum kompilacji.
{
"manifestVersion": 1,
"id": "tools",
"version": "0.1.0",
"name": "Fabrikam Tools",
"publisher": "fabrikam",
"description": "Awesome tools to help you and your team do great things everyday.",
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
],
"demands": [
"api-version/3.0"
],
"icons": {
"default": "images/fabrikam-logo.png"
},
"scopes": [
"vso.work",
"vso.code_write"
],
"categories": [
"Plan and track"
],
"tags": [
"working",
"people person",
"search"
],
"branding": {
"color": "rgb(34, 34, 34)",
"theme": "dark"
},
"screenshots": [
{
"path": "screenshots/screen1.png"
},
{
"path": "screenshots/screen2.png"
}
],
"content": {
"details": {
"path": "overview.md"
},
"license": {
"path": "eula.md"
}
},
"links": {
"home": {
"uri": "https://www.fabrikam-fiber-inc.com"
},
"getstarted": {
"uri": "https://www.fabrikam-fiber-inc.com/help/getstarted"
},
"learn": {
"uri": "https://www.fabrikam-fiber-inc.com/features"
},
"support": {
"uri": "https://www.fabrikam-fiber-inc.com/support"
},
"repository": {
"uri": "https://github.com/fabrikam-fiber-inc/tools"
},
"issues": {
"uri": "https://github.com/fabrikam-fiber-inc/tools/issues"
}
},
"repository": {
"type": "git",
"uri": "https://github.com/fabrikam-fiber-inc/myextension"
},
"badges": [
{
"href": "https://travis.ci/fabrikam-fiber-inc/myextension",
"uri": "https://travis.ci/fabrikam-fiber-inc/myextension.svg?branch=master",
"description": "TravisCI build for the project"
},
{
"href": "https://ci.appveyor.com/projects/fabrikam-fiber-inc/myextension",
"uri": "https://ci.appveyor.com/api/projects/status/vlg2sgs2y7tsdxpj4c?svg=true",
"description": "AppVeyor build for the project"
}
],
"contributions": [
{
"id": "showCommits",
"type": "ms.vss-web.action",
"description": "Adds a menu action from builds grid to show associated items.",
"targets": [
"ms.vss-build-web.completed-build-menu"
],
"properties": {
"title": "View associated items",
"uri": "launch.html"
}
}
]
}