Dokumentacja manifestu rozszerzenia
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Każde rozszerzenie ma plik manifestu JSON, który definiuje podstawowe informacje o rozszerzeniu. Plik definiuje również sposób rozszerzania i ulepszania środowiska. 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ć. Definiuje również współtworzenie 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
Właściwości | 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 . |
version | 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 |
name | 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, w ramach których 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 Pipelines Azure Boards , Azure Test Plans i Azure Artifacts .Uwagi:
— Jeśli używasz rozszerzenia Azure DevOps Extension Tasks do opublikowania, upewnij się, że jego wersja to >1.2.8. Może być konieczne zatwierdzenie aktualizacji rozszerzenia z powodu ostatnich zmian zakresu. — Wymienione wcześniej kategorie są natywnie obecne w witrynach Visual Studio Marketplace i Azure DevOps Server 2019 i nowszych. W przypadku rozszerzeń przeznaczonych dla starszych wersji serwera TFS:
— Jeśli zamierzasz udostępnić rozszerzenie bezpośrednio (czyli nie za pośrednictwem witryny Visual Studio Marketplace) z klientem korzystającym z serwera TFS <=2018, użyj następujących kategorii: Kod, Planowanie i śledzenie, Kompilowanie i wydawanie, Testowanie, Współpraca i integracja. Jeśli musisz udostępnić zarówno za pośrednictwem witryny Visual Studio Marketplace, jak i bezpośrednio z klientem TFS <= 2018, musisz mieć 2 pakiety rozszerzeń. |
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 lub TFS),Microsoft.TeamFoundation.Server - (rozszerzenie, które współpracuje z programem TFS),- Microsoft.VisualStudio.Services.Integration (integracje współpracujące z usługą Azure DevOps lub TFS) - Microsoft.TeamFoundation.Server.Integration (integracje współpracujące z programem TFS) |
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
Właściwości | opis | Uwagi |
---|---|---|
Zakresów | Tablica zakresów autoryzacji (ciągów) wyświetla uprawnienia wymagane przez rozszerzenie. | Na przykład i vs.code_write wskazuje, vso.work że rozszerzenie wymaga dostępu tylko do odczytu do elementów roboczych i dostępu do odczytu/zapisu do kodu źródłowego (i powiązanego zasobu). 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 względnych adresów URL określonych przez współtworzenie 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. |
Składki | Tablica współtworzeń systemu. | |
contributionTypes | 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
Te opcjonalne właściwości ułatwiają użytkownikom odnajdywanie i poznawanie rozszerzenia:
Właściwości | opis | Uwagi |
---|---|---|
opis | Kilka zdań opisujących rozszerzenia. Ograniczone do 200 znaków. | Opis powinien być "skokiem windy" rozszerzenia — kilka wierszy, aby opisać rozszerzenie w witrynie Marketplace i sprawić, że ludzie chcą go 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 |
tagów | Tablica tagów ciągów ułatwia użytkownikom znajdowanie rozszerzenia. | Przykłady: agile , , task timer project management i tak dalej. |
zrzuty ekranu | Tablica obrazów, których nie można uwzględnić w zawartości. | Zrzuty ekranu są bardziej cenne w przypadku polecania zawartości i powinny być używane w celu ułatwienia utworzenia strony szczegółów rynku jakości 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. Umożliwia rozbudowanie, eksploatacyjne i dołączanie zrzutów ekranu w razie potrzeby. overview.md Dołącz plik jako podstawowy element zawartości. Zakłada się, że każdy plik ma format Języka Markdown w usłudze GitHub Flavored. Każdy path element 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 na temat rozszerzenia, uzyskać pomoc techniczną i przenieść. | 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 pomoc techniczną 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 metadanych, takich jak TravisCI, Appveyor itd., z zatwierdzonych witryn znaczków | Prawidłowe klucze: href — połącz użytkownika po wybraniu wskaźnika. uri - Bezwzględny adres URL obrazu znaczka do wyświetlenia. description - Opis znaczka, który ma być wyświetlany po umieszczeniu kursora. |
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 widoczne tylko dla wydawcy i 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 .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"
]
}
Oznaczanie rozszerzenia jako płatne
Jeśli chcesz sprzedać rozszerzenie w witrynie Marketplace, możesz oznaczyć je flagą i __BYOLENFORCED
tagiem Paid
(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 sprawdzanie płatnego licencjonowania i nie będziemy już wymagać zastąpienia. Na razie upewnij się, że rozszerzenie jest wyświetlane zgodnie z oczekiwaniami. Każde zastąpienie składa się z "identyfikatora" i "zachowania". Wprowadź wartość "ID" zgodną z identyfikatorem kontrybutó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 kierować usługę Azure DevOps, ale nie chcesz wyświetlać opcji Pobierz dla rozszerzenia, dodaj __DoNotDownload
tag (zaczyna się od dwóch podkreśleń) do manifestu rozszerzenia.
Jeśli przenosisz rozszerzenie z wcześniej oferowanego licencjonowania rozliczeń i licencjonowania 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 pytania dotyczące witryny Marketplace — właściwość CustomerQnASupport
Wszystkie rozszerzenia w witrynie Visual Studio Marketplace mają sekcję Pytania i odpowiedzi (Q & A), aby umożliwić jedno-na jednym publicznym rozmowach między użytkownikami rozszerzeń i wydawcami. Wydawcy mogą wybierać pytania dotyczące witryny Marketplace i odpowiedzi (Q&A), problemy z usługą GitHub lub niestandardowy adres URL pytań i odpowiedzi. W witrynie Marketplace można wyłączyć 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 pytań w witrynie Marketplace.
W przypadku innego środowiska niż jedna z opcji domyślnych 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
true
marketplace lub niestandardowe pytania i fałsz dotyczące wyłączania pytań i odpowiedzi - url — ciąg, adres URL dla niestandardowego pytań i pytań
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 witryny Marketplace Q & A zamiast problemów z usługą GitHub
{
"CustomerQnASupport": {
"enablemarketplaceqna":"true"
}
}
Przykład: wyłączanie sekcji pytań i pytań i pytań
{
"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 | opis | Dziedziczy po |
---|---|---|---|---|
Zabezpieczenia zaawansowane | vso.advsec |
AdvancedSecurity (odczyt) | Daje możliwość odczytywania alertów, wystąpień wyników, wystąpień wyników analizy. | |
vso.advsec_write |
AdvancedSecurity (odczyt i zapis) | Przyznaje możliwość przekazywania analiz w sarif | vso.advsec |
|
vso.advsec_manage |
AdvancedSecurity (odczyt, zapis i zarządzanie) | Przyznaje możliwość przekazywania analiz w sarif | 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, zarządzanie) | Umożliwia zarządzanie pulami, kolejkami i agentami. | vso.agentpools |
|
vso.environment_manage |
Środowisko (odczyt, zarządzanie) | Umożliwia zarządzanie pulami, kolejkami, agentami i środowiskami. | vso.agentpools_manage |
|
Analiza | vso.analytics |
Analiza (odczyt) | Przyznaje możliwość wykonywania zapytań dotyczących danych analitycznych. | |
Inspekcja | vso.auditlog |
Dziennik inspekcji (odczyt) | Umożliwia odczytywanie dziennika inspekcji użytkownikom. | |
vso.auditstreams_manage |
Strumienie inspekcji (odczyt) | Umożliwia zarządzanie strumieniami inspekcji użytkownikom. | vso.auditlog |
|
Kompilacja | vso.build |
Kompilacja (odczyt) | 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 wykonanie) | Umożliwia dostęp do artefaktów kompilacji, w tym wyników kompilacji, definicji i żądań oraz możliwość kolejkowania kompilacji, aktualizowania właściwości kompilacji oraz odbierania powiadomień o zdarzeniach kompilacji za pośrednictwem punktów zaczepienia usługi. | vso.build |
|
Kod | vso.code |
Kod (odczyt) | Przyznaje możliwość odczytywania kodu źródłowego i metadanych dotyczących zatwierdzeń, 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 punktów zaczepienia usługi. | vso.hooks_write |
vso.code_write |
Kod (odczyt i zapis) | 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. Ponadto umożliwia tworzenie żądań ściągnięcia i przeglądów kodu oraz zarządzanie nimi oraz odbieranie powiadomień o zdarzeniach kontroli wersji za pośrednictwem punktów zaczepienia usługi. | vso.code |
|
vso.code_manage |
Kod (odczyt, zapis i zarządzanie) | 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) | 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. 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. Obejmuje również ograniczoną obsługę interfejsów API OM klienta. | vso.code_manage |
|
vso.code_status |
Kod (stan) | 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) | Zapewnia dostęp tylko do odczytu do punktu końcowego uprawnień licencjonowania w celu uzyskania uprawnień do konta. | |
vso.memberentitlementmanagement |
MemberEntitlement Management (odczyt) | Daje możliwość odczytywania użytkowników, ich licencji, a także projektów i rozszerzeń, do których mogą uzyskiwać dostęp. | ||
vso.memberentitlementmanagement_write |
MemberEntitlement Management (zapis) | Umożliwia zarządzanie użytkownikami, ich licencjami oraz projektami i rozszerzeniami, do których mogą uzyskiwać dostęp. | vso.memberentitlementmanagement |
|
Rozszerzenia | vso.extension |
Rozszerzenia (odczyt) | Przyznaje możliwość odczytywania zainstalowanych rozszerzeń. | vso.profile |
vso.extension_manage |
Rozszerzenia (odczyt i zarządzanie nimi) | 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 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) | Umożliwia odczytywanie połączeń usługi GitHub i danych repozytoriów GitHub oraz zarządzanie nimi | vso.githubconnections |
|
Wykres i tożsamość | vso.graph |
Graf (odczyt) | Umożliwia odczytywanie informacji o członkostwie użytkowników, grupach, zakresie i grupach. | |
vso.graph_manage |
Graf (zarządzanie) | Przyznaje możliwość odczytywania informacji o użytkowniku, grupie, zakresie i członkostwie w grupach oraz dodawaniu użytkowników, grup i zarządzania członkostwem w grupach. | vso.graph |
|
vso.identity |
Tożsamość (odczyt) | Umożliwia odczytywanie tożsamości i grup. | ||
vso.identity_manage |
Tożsamość (zarządzanie) | Daje możliwość odczytu, zapisu i zarządzania tożsamościami i grupami. | vso.identity |
|
Grupa maszyn | vso.machinegroup_manage |
Grupa wdrażania (odczyt, zarządzanie) | Umożliwia zarządzanie grupami wdrożeń i pulami agentów. | vso.agentpools_manage |
Marketplace | vso.gallery |
Portal Marketplace | Przyznaje dostęp do odczytu publicznym i prywatnym elementom i wydawcom. | vso.profile |
vso.gallery_acquire |
Marketplace (uzyskiwanie) | Przyznaje dostęp do odczytu i możliwość uzyskiwania elementów. | vso.gallery |
|
vso.gallery_publish |
Marketplace (publikowanie) | Przyznaje dostęp do odczytu i możliwość przekazywania, aktualizowania i udostępniania elementów. | vso.gallery |
|
vso.gallery_manage |
Marketplace (zarządzanie) | Przyznaje dostęp do odczytu oraz możliwość publikowania elementów i wydawców oraz zarządzania nimi. | vso.gallery_publish |
|
Powiadomienia | vso.notification |
Powiadomienia (odczyt) | Zapewnia dostęp do odczytu do subskrypcji i metadanych zdarzeń, w tym do filtrowania wartości pól. | vso.profile |
vso.notification_write |
Powiadomienia (zapis) | Zapewnia dostęp do odczytu i zapisu w subskrypcjach 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) | Zapewnia dostęp do odczytu, zapisu i zarządzania subskrypcjami oraz dostęp do odczytu do metadanych zdarzeń, w tym wartości pól możliwych do filtrowania. | vso.notification_write |
|
vso.notification_diagnostics |
Powiadomienia (diagnostyka) | Zapewnia dostęp do dzienników diagnostycznych związanych z powiadomieniami i zapewnia możliwość włączania diagnostyki dla poszczególnych subskrypcji. | vso.notification |
|
Pakowanie | vso.packaging |
Pakowanie (odczyt) | Przyznaje możliwość odczytywania kanałów informacyjnych i pakietów. | vso.profile |
vso.packaging_write |
Pakowanie (odczyt i zapis) | Przyznaje możliwość tworzenia i odczytywania kanałów informacyjnych i pakietów. | vso.packaging |
|
vso.packaging_manage |
Tworzenie pakietów (odczyt, zapis i zarządzanie) | Umożliwia tworzenie, odczytywanie, aktualizowanie i usuwanie źródeł danych i pakietów. | vso.packaging_write |
|
Zasoby potoku | vso.pipelineresources_use |
Zasoby potoku (użyj) | Przyznaje możliwość zatwierdzenia żądania potoku do korzystania z 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) | Umożliwia zarządzanie chronionym zasobem lub żądaniem potoku w celu korzystania z chronionego zasobu: puli agentów, środowiska, kolejki, repozytorium, bezpiecznych plików, połączenia z usługą i grupy zmiennych. | vso.pipelineresources_manage |
|
Projekt i zespół | vso.project |
Projekt i zespół (odczyt) | Przyznaje możliwość odczytywania projektów i zespołów. | |
vso.project_write |
Projekt i zespół (odczyt i zapis) | Przyznaje możliwość odczytywania i aktualizowania projektów i zespołów. | vso.project |
|
vso.project_manage |
Projekt i zespół (odczyt, zapis i zarządzanie nimi) | Przyznaje możliwość tworzenia, odczytywania, aktualizowania i usuwania projektów i zespołów. | vso.project_write |
|
Wydanie | vso.release |
Wydanie (odczyt) | 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) | Przyznaje możliwość odczytywania i aktualizowania artefaktów wydania, w tym wydań, definicji wydania i środowiska wydania oraz możliwości kolejkowania nowej wersji. | vso.release |
|
vso.release_manage |
Wydanie (odczyt, zapis, wykonywanie i zarządzanie) | Daje możliwość odczytywania, aktualizowania i usuwania artefaktów wydania, w tym wydań, definicji wydań i środowiska wydania oraz możliwości kolejkowania i zatwierdzania nowej wersji. | vso.release_manage |
|
Zabezpieczanie plików | vso.securefiles_read |
Bezpieczne pliki (odczyt) | Przyznaje możliwość odczytywania bezpiecznych plików. | |
vso.securefiles_write |
Bezpieczne pliki (odczyt, tworzenie) | Umożliwia odczytywanie i tworzenie bezpiecznych plików. | vso.securefiles_read |
|
vso.securefiles_manage |
Zabezpieczanie plików (odczyt, tworzenie i zarządzanie nimi) | Daje możliwość odczytywania, tworzenia i zarządzania bezpiecznymi plikami. | vso.securefiles_write |
|
Bezpieczeństwo | vso.security_manage |
Zabezpieczenia (zarządzanie) | Przyznaje możliwość odczytu, zapisu i zarządzania uprawnieniami zabezpieczeń. | |
Połączenia z usługami | vso.serviceendpoint |
Punkty końcowe usługi (odczyt) | Przyznaje możliwość odczytywania punktów końcowych usługi. | vso.profile |
vso.serviceendpoint_query |
Punkty końcowe usługi (odczyt i zapytanie) | Przyznaje możliwość odczytu i wykonywania zapytań dotyczących punktów końcowych usługi. | vso.serviceendpoint |
|
vso.serviceendpoint_manage |
Punkty końcowe usługi (odczyt, wykonywanie zapytań i zarządzanie nimi) | Daje możliwość odczytu, wykonywania zapytań i zarządzania punktami końcowymi usługi. | vso.serviceendpoint_query |
|
Punkty zaczepienia usługi | vso.hooks |
Punkty zaczepienia usługi (odczyt) | Umożliwia odczytywanie subskrypcji i metadanych przypinania usługi, w tym obsługiwanych zdarzeń, użytkowników i akcji. (Nie jest już publiczny). | vso.profile |
vso.hooks_write |
Punkty zaczepienia usługi (odczyt i zapis) | Przyznaje możliwość tworzenia i aktualizowania subskrypcji punktów zaczepienia usługi oraz odczytywania metadanych, w tym obsługiwanych zdarzeń, użytkowników i akcji. (Nie jest już publiczny). | vso.hooks |
|
vso.hooks_interact |
Punkty zaczepienia usługi (interakcja) | Umożliwia interakcję i wykonywanie akcji na zdarzeniach odebranych za pośrednictwem punktów zaczepienia 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ść tworzenia i odczytywania ustawień. | ||
Symbole | 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) | Przyznaje możliwość odczytywania grup zadań. | |
vso.taskgroups_write |
Grupy zadań (odczyt, tworzenie) | Umożliwia odczytywanie i tworzenie grup zadań. | vso.taskgroups_read |
|
vso.taskgroups_manage |
Grupy zadań (odczyt, tworzenie i zarządzanie nimi) | Przyznaje możliwość odczytywania, tworzenia grup zadań i zarządzania nimi. | vso.taskgroups_write |
|
Pulpit nawigacyjny zespołu | vso.dashboards |
Pulpity nawigacyjne zespołu (odczyt) | Umożliwia odczytywanie informacji o pulpicie nawigacyjnym zespołu. | |
vso.dashboards_manage |
Pulpity nawigacyjne zespołu (zarządzanie) | Umożliwia zarządzanie informacjami o pulpicie nawigacyjnym zespołu. | vso.dashboards |
|
Zarządzanie testami | vso.test |
Zarządzanie testami (odczyt) | Umożliwia odczytywanie 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 |
|
Wątki | vso.threads_full |
Wątki żądania ściągnięcia | Umożliwia odczytywanie i zapisywanie wątków komentarza żądania ściągnięcia. | |
Tokeny | vso.tokens |
Tokeny autoryzacji delegowanej | Przyznaje użytkownikom możliwość zarządzania delegowanymi tokenami autoryzacji. | |
vso.tokenadministration |
Administrowanie tokenem | 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 (zapis) | Przyznaje możliwość zapisu w profilu. | vso.profile |
|
Grupy zmiennych | vso.variablegroups_read |
Grupy zmiennych (odczyt) | Przyznaje możliwość odczytywania grup zmiennych. | |
vso.variablegroups_write |
Grupy zmiennych (odczyt, tworzenie) | Przyznaje możliwość odczytywania i tworzenia grup zmiennych. | vso.variablegroups_read |
|
vso.variablegroups_manage |
Grupy zmiennych (odczyt, tworzenie i zarządzanie) | Przyznaje możliwość odczytywania, tworzenia grup zmiennych i zarządzania nimi. | vso.variablegroups_write |
|
Witryna Wiki | vso.wiki |
Wiki (odczyt) | 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) | Daje możliwość odczytywania, tworzenia i aktualizowania stron typu wiki, stron typu wiki i załączników typu wiki. | vso.wiki |
|
Elementy robocze | vso.work |
Elementy robocze (odczyt) | Umożliwia odczytywanie elementów roboczych, zapytań, tablic, ścieżek obszaru i iteracji oraz innych metadanych powiązanych ze śledzeniem elementów roboczych. Ponadto umożliwia 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) | Umożliwia odczytywanie, tworzenie i aktualizowanie elementów roboczych i zapytań, metadanych tablicy aktualizacji, ścieżek obszaru odczytu i iteracji innych metadanych powiązanych 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. Zapewnia również możliwość odbierania 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 | Masz pełny dostęp do interfejsów API REST usługi Visual Studio Team Services. Żądaj i/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 zainstalowano rozszerzenie (i autoryzował poprzedni zestaw zakresów), autoryzuj nowe zakresy przed uaktualnieniem do najnowszej wersji.
Sekcja Akcja wymagana w centrum Ustawień rozszerzenia zawiera użytkownika, który, jeśli w ogóle, zainstalowane rozszerzenia 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 ServicesMicrosoft.TeamFoundation.Server
: instaluje się w usłudze Azure DevOps ServerMicrosoft.VisualStudio.Services
: jest instalowany w obu. Skrót doMicrosoft.VisualStudio.Services.Cloud
wersji iMicrosoft.TeamFoundation.Server
[14.2,)
Obsługiwane identyfikatory integracji:
Microsoft.VisualStudio.Services.Cloud.Integration
: integruje się z usługą Azure DevOps ServicesMicrosoft.TeamFoundation.Server.Integration
: integruje się z usługą Azure DevOps ServerMicrosoft.VisualStudio.Services.Integration
: integruje się z obydwoma. Skrót dlaMicrosoft.VisualStudio.Services.Cloud.Integration
iMicrosoft.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śline przy użyciu:[
: minimalna wersja włącznie]
: maksymalna wersja włącznie(
: minimalna wersja na wyłączność)
: maksymalna wersja na wyłączność
Numery wersji serwera Azure DevOps Server:
Zwolnij | Wydania | 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 elementów docelowych i wymagań dotyczących instalacji
Cele instalacji i wymagania są używane razem do prezentowania użytkownikom poprawnego widoku produktów/usług, z których rozszerzenie lub integracja jest zgodne. Na przykład określenie celu Microsoft.VisualStudio.Services
instalacji z zapotrzebowaniem api-version/3.0
oznacza, że rozszerzenie współpracuje z usługą Azure DevOps.
Napiwek
Aby uzyskać więcej informacji na temat interfejsów API REST, zobacz Dokumentację interfejsu API REST.
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ż ms.vss-dashboards-web
zainstalowania rozszerzenia (i jego widget-catalog
współtworzenia) w kolekcji przed zainstalowaniem rozszerzenia.
Obsługiwane wymagania
Type | Opis | Zaewidencjonowane 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 udziału | Nie. | Tak |
contributionType/{id} |
Wymaga dostępności określonego typu współtworzenia | Nie. | Tak |
Uwaga
- Użyj
environment/cloud
polecenia ienvironment/onprem
tylko wtedy, gdy rozszerzenie ma wymagania związane z topologią, które wymagają uruchomienia w danym środowisku. extension
,contribution
icontributionType
wymagania są oceniane w czasie instalacji i wymagają, aby określone rozszerzenie było już zainstalowane i włączone w organizacji/kolekcji.
Pliki
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óry może być względny dla 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 ścieżka względna na dysku z katalogu głównego.
- contentType — opcjonalny typ MIME pliku. Domyślnie najlepiej odgadnąć na podstawie ustawień rozszerzenia pliku i 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 tym przypadku wiele wpisów elementów zawartości zostanie dodanych dla tego pliku. Domyślnie jest to packagePath.
- lang — (opcjonalnie) Język tego elementu zawartości. Zlokalizowane pliki są obsługiwane 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 współtworzenia ma następujące właściwości:
- id — identyfikator odwołania (ciąg) dla udziału. Wprowadź każdy identyfikator współtworzenia unikatowy w ramach rozszerzenia. Zobacz odwoływanie się do współtworzenia i typów.
- type — identyfikator współtworzenia tego udziału.
- description — (Opcjonalnie) Ciąg opisujący, co udostępnia wkład.
- targets — tablica identyfikatorów współtworzenia, których celem jest współtworzenie udziału (współtworzenie). Zobacz Określanie elementów współtworzenia elementów docelowych.
- properties — (opcjonalnie) Obiekt, który zawiera właściwości współtworzenia zgodnie z definicją w typie współtworzenia.
Aby uzyskać więcej informacji, zobacz omówienie modelu współtworzenia.
Typy kontrybuców
Każdy wpis współtworzenia ma następujące właściwości:
- id — identyfikator odwołania (ciąg) dla typu udziału. Wprowadź każdy identyfikator typu współtworzenia unikatowy w obrębie rozszerzenia. Zobacz odwoływanie się do współtworzenia i typów.
- name — przyjazna nazwa typu udziału.
- description — (Opcjonalnie) Ciąg opisujący bardziej szczegółowo typ udziału.
- properties — (opcjonalnie) Słownik mapujący nazwy właściwości na opisy właściwości. Te właściwości opisują wymagane i opcjonalne właściwości, których mogą używać współtworzenie tego typu.
Opisy właściwości mają następujące właściwości:
- description — (opcjonalnie) Ciąg opisujący, do czego służy właściwość.
- required — (Opcjonalnie) Wartość logiczna, która, jeśli wartość true wskazuje, że właściwość jest wymagana dla wszystkich składek tego typu.
- 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.
Odwoływanie się do współtworzenia i typów
Użyj unikatowych identyfikatorów, aby odwoływać się do kontrybucencji i typów kontrybucencji. Odwołania do typów z właściwością type
i odwołują się do innych współtworzeń z właściwością targets
.
- Pełna dokumentacja współtworzenia obejmuje identyfikator wydawcy, identyfikator rozszerzenia i identyfikator współtworzenia/typu oddzielony kropką (.). Na przykład
ms.vss-web.hub
jest pełnym identyfikatorem udziału z identyfikatorem "hub" w rozszerzeniu "vss-web" opublikowanym przez wydawcę "ms" (Microsoft). - Odwołania do współtworzenia względnego mogą być używane 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 współtworzenia. Na przykład plik ".hub" może być używany w rozszerzeniu "vss-web" wspomnianym wcześniej jako skrót do "ms.vss-web.hub".
Współtworzenie elementów docelowych
Niektóre współtworzenia działają jako kontenery objęte innymi współtworzeniami.
- Współtworzenie centrum może dotyczyć grup koncentratora. Gdy strona jest renderowana, internetowy interfejs użytkownika wyświetla wszystkie współtworzenie centrum, które są przeznaczone dla wybranej grupy centrum. Grupy koncentratora są przeznaczone dla kolekcji grup centrów, która definiuje zestaw grup centrum, które są wyświetlane w danym obszarze nawigacji, na przykład strony administracyjne na poziomie projektu.
- Różne typy współtworzeń mogą kierować menu docelowe: akcja, akcja-hiperlink i dostawca akcji. Akcje i akcje hiperłącza zapewniają wpisy elementów z pojedynczym menu. Dostawca akcji może udostępnić wiele dynamicznych elementów menu. W przypadku danego menu elementy są agregowane we wszystkich współtworzeniach (dowolnych z tych typów), które są przeznaczone dla tego konkretnego udziału w 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 znaczka
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 ciąg "vsmarketplacebadge.apphb.com" ciągiem "vsmarketplacebadges.dev".
Aby wyświetlić znaczek z innej usługi, skontaktuj się z pomocą techniczną w społeczności deweloperów.
Przykładowy manifest
Następujące rozszerzenie współtworzy akcję ukończonego menu kontekstowego kompilacji i centrum do grupy 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"
}
}
]
}