Opakuj i opublikuj integrację na Marketplace.
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Czy masz narzędzie, usługę lub produkt integrujący się z usługą Azure DevOps lub serwerem Team Foundation Server (TFS)? Jeśli tak, pomóż użytkownikom je znaleźć, publikując je w witrynie Visual Studio Marketplace. Marketplace to jednorazowy sklep dla użytkowników indywidualnych i zespołów, który umożliwia znajdowanie narzędzi, które rozszerzają i ulepszają środowisko pracy.
Przeglądaj marketplace, aby zobaczyć przykłady innych integracji i rozszerzeń.
Uwaga
Jeśli szukasz informacji o pakowaniu i publikowaniu rozszerzeń, sprawdź Package & Publish Extensions.
Wymagania dotyczące publikowania
Przed opublikowaniem w witrynie Marketplace należy spełnić następującą listę wymagań.
- Zainstaluj narzędzie do tworzenia pakietów rozszerzeń (TFX). Uruchom
npm install -g tfx-cli
z wiersza polecenia. - Upewnij się, że udzielono odpowiednich uprawnień do używania dowolnych obrazów, na przykład ikon, logo, zrzutów ekranu itd.
- Załącz dokładny plik
overview.md
, aby opisać ofertę na platformie Marketplace. - Dołącz ikonę rozszerzenia, która ma rozmiar co najmniej 128 x 128 pikseli.
- W przypadku odwoływania się do produktów firmy Microsoft użyj pełnych nazw zamiast skrótów, na przykład Azure DevOps vs AzDO lub — dowolny inny skrót.
- Powstrzymaj się od używania nazw marek w nazwie rozszerzenia.
Czego potrzebujesz
- Logo 128x128 pikseli (format PNG lub JPEG) reprezentujące Twoją integrację, Ciebie lub Twoją firmę/organizację
- Co najmniej jeden zrzut ekranu przedstawiający integrację
- Zachęta do działania / adres URL, aby rozpocząć (gdzie użytkownicy powinni skierować się, aby rozpocząć pracę z naszą integracją)
Kroki
Publikowanie w witrynie Marketplace to proces iteracyjny, który rozpoczyna się od utworzenia pliku manifestu definiującego charakterystykę integracji i odnajdywania kluczy (na przykład zrzuty ekranu, logo i zawartość przeglądu). Te informacje służą do prezentowania integracji użytkownikom w witrynie Marketplace, na przykład:
Jenkins dla usługi Azure DevOps
Uwaga: termin extension
jest używany w poniższych dokumentach. Rozszerzenia to kolejny typ elementu w witrynie Marketplace, który pod względem sposobu odkrywania ma wiele wspólnego z integracjami.
Utwórz wydawcę
Wszystkie rozszerzenia i integracje, w tym rozszerzenia firmy Microsoft, mają wydawcę. Każdy może utworzyć wydawcę i opublikować w nim rozszerzenia. Możesz również przyznać innym osobom dostęp do wydawcy, jeśli zespół opracowuje rozszerzenie.
Użytkownik jest właścicielem wydawcy, zazwyczaj użytkownika, który go utworzył. Możesz również udostępnić wydawcę innym użytkownikom.
Zaloguj się do witryny Portal publikowania witryny Marketplace programu Visual Studio.
Jeśli nie jesteś jeszcze członkiem istniejącego wydawcy, + Utwórz wydawcę. Wprowadź nazwę w polu nazwa wydawcy. Pole Identyfikator powinno zostać automatycznie ustawione na podstawie wprowadzonej nazwy.
Uwaga
Zanotuj identyfikator, ponieważ musisz ustawić go w pliku manifestu rozszerzenia.
Jeśli nie zostanie wyświetlony monit o utworzenie wydawcy, przewiń na dół strony i wybierz Opublikuj rozszerzenia poniżej Powiązane witryny.
- Określ identyfikator wydawcy, na przykład:
mycompany-myteam
. Ten identyfikator jest używany jako wartość atrybutupublisher
w pliku manifestu rozszerzenia. - Określ nazwę wyświetlaną wydawcy, na przykład:
My Team
- Określ identyfikator wydawcy, na przykład:
Przejrzyj umowę wydawcy Marketplace , a następnie wybierz pozycję Utwórz.
rozszerzenia
Po utworzeniu wydawcy zostajesz przekierowany do zarządzania elementami, ale nie ma żadnych elementów.
Utwórz folder zawierający manifest twojego elementu i inne zasoby
Przed spakacją integracji jako rozszerzenia należy utworzyć folder home
zawierający wymagane zasoby w tym folderze:
- Utwórz folder o nazwie
images
do przechowywania:- Logo integracji (128x128 pikseli)
- Zrzuty ekranu (1366x768 pikseli)
- Tworzenie pliku o nazwie
overview.md
- Tutaj opisz swoją integrację
- Aby dowiedzieć się więcej na temat języka Markdown, zobacz GitHub Flavored Markdown
- Tworzenie pliku o nazwie
vss-integration.json
- Ten plik to plik manifestu Twojej listy w Marketplace, który zawiera wiele właściwości opisujących rozszerzenie na tej liście w Marketplace. Możesz przeglądać referencję manifestu rozszerzenia tutaj
Manifest rozszerzenia
Wypełnij plik
vss-integration.json
następującym kodem JSON:{ "manifestVersion": 1, "id": "myservice", "version": "1.0.0", "name": "My Service", "publisher": "mycompany", "description": "Awesome tools to help you and your team do great things everyday.", "targets": [ { "id": "Microsoft.VisualStudio.Services.Integration" } ], "icons": { "default": "images/service-logo.png" }, "categories": [ "Plan and track" ], "tags": [ "working", "people person", "search" ], "screenshots": [ { "path": "images/screen1.png" }, { "path": "images/screen2.png" } ], "content": { "details": { "path": "overview.md" }, "license": { "path": "fabrikam-license-terms.md" } }, "links": { "getstarted": { "uri": "https://www.mycompany.com/help/getstarted" }, "learn": { "uri": "https://www.mycompany.com/features" }, "support": { "uri": "https://www.mycompany.com/support" } }, "branding": { "color": "rgb(34, 34, 34)", "theme": "dark" } }
Zaktualizuj kod JSON przy użyciu następującego odwołania:
Nieruchomość | Opis | Notatki |
---|---|---|
manifestVersion | numer odpowiadający wersji formatu manifestu. | Powinna być 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 |
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, 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 Boards , Azure Pipelines , Azure Test Plans i Azure Artifacts .Notatki:
— jeśli używasz rozszerzenia Azure DevOps Extension Tasks do opublikowania, upewnij się, że jego wersja jest >= 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 pole id 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) |
Te opcjonalne właściwości ułatwiają użytkownikom odnajdywanie i poznawanie rozszerzenia:
Nieruchomość | Opis | Notatki |
---|---|---|
opis | Kilka zdań opisujących rozszerzenia. Ograniczone do 200 znaków. | Opis powinien być zwięzłym przedstawieniem rozszerzenia — kilka zdań, które opiszą rozszerzenie w Marketplace i zachęcą ludzi do jego instalacji. Zobacz poniższy przykład |
ikony | Słownik ikon reprezentujących 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, aby ułatwić użytkownikom znalezienie rozszerzenia. | Przykłady: agile , project management , task timer itd. |
zrzuty ekranu | Tablica obrazów, których nie można uwzględnić w zawartości. | Zrzuty ekranu są bardziej przydatne, gdy są uwzględniane w zawartości i powinny być używane, aby pomóc w stworzeniu wysokiej jakości strony szczegółów rynku rozszerzenia. Użyj zrzutów ekranu dla mniej ważnych obrazów, które nie są przedstawione w zawartości. Każdy obraz powinien mieć rozmiar 1366 x 768 pikseli.
path każdego elementu 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. Uczyń to bogatym, przystępnym i dołącz zrzuty ekranu, jeśli to konieczne. Dołącz plik overview.md 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. |
łącza | Zbiór linków, które pomagają użytkownikom lepiej zrozumieć rozszerzenie, uzyskać pomoc techniczną i przejść dalej. | 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 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 | Lista linków do zewnętrznych odznak metadanych, takich jak TravisCI, Appveyor itd., z zatwierdzonych witryn dostarczających odznaki | Prawidłowe klucze: href — łącze, do którego użytkownik przechodzi po wybraniu odznaki.
uri — bezwzględny adres URL obrazu odznaki do wyświetlenia.
description — opis odznaki, który ma być wyświetlany po najechaniu kursorem. |
znakowanie | 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żyj ciemnych kolorów znakowania ciemnego lub jasnych dla jaśniejszych kolorów znakowania. |
Strona szczegółów
- 1 — opis
- 2 — ikona
- 3 — kategorie
- 4 — zrzuty ekranu
- 5 — zawartość (szczegóły)
- 6 — łącza
- 7 — znakowanie
Pakowanie manifestu i zasobów
Pobierz narzędzie do paczek (tfx-cli)
Możesz zainstalować lub zaktualizować międzyplatformowy interfejs wiersza polecenia dla usługi Azure DevOps (tfx-cli) przy użyciu npm
, składnika Node.jsz poziomu wiersza polecenia.
npm i -g tfx-cli
Zapakuj integrację w plik .vsix
tfx extension create --manifest-globs vss-extension.json
Uwaga
W każdej aktualizacji należy zwiększać wersję rozszerzenia/integracji.
Jeśli nie zwiększono rozszerzenia/integracji w manifeście, należy przekazać przełącznik wiersza polecenia --rev-version
. Zwiększa to numer wersji poprawki w rozszerzeniu i zapisuje nową wersję w manifeście.
Publikowanie integracji w witrynie Marketplace
Gdy twoje rozszerzenie zostanie spakowane, możesz przesłać je do Marketplace, korzystając z konta wydawcy. Identyfikator publisher
określony w pliku manifestu rozszerzenia musi być zgodny z identyfikatorem wydawcy, pod którym rozszerzenie jest przekazywane.
W portalu zarządzania wybierz wydawcę z menu rozwijanego w górnej części strony.
Wybierz pozycję Nowe rozszerzenie>Azure DevOps.
Przeciągnij i upuść swój plik lub wybierz go, aby znaleźć plik VSIX utworzony w poprzednim kroku pakowania, a następnie wybierz opcję Przekaż.
Po szybkiej weryfikacji rozszerzenie zostanie wyświetlone na liście opublikowanych rozszerzeń. Nie martw się, rozszerzenie jest widoczne tylko dla Ciebie.
W tym momencie rozszerzenie nie jest widoczne dla żadnych kont i nie można go zainstalować, dopóki go nie udostępnisz.
Uwaga
Firma Microsoft przeprowadza skanowanie antywirusowe na każdym nowym i zaktualizowanym pakiecie rozszerzeń opublikowanym. Dopóki wynik skanowania nie będzie jednoznaczny, nie opublikujemy rozszerzenia w witrynie Marketplace do użytku publicznego. W ten sposób unikamy również uwyłania nieodpowiedniej lub obraźliwej zawartości na stronach witryny Marketplace.
Udostępnij swoją integrację
Aby można było zainstalować integrację z organizacją w usłudze Azure DevOps lub TFS, musisz udostępnić ją tej organizacji. Udostępnianie jest wymaganiem podczas opracowywania i testowania integracji, ponieważ jest to jedyny sposób uruchamiania integracji.
Aby udostępnić integrację, wykonaj następujące zadania:
- Wybierz integrację z listy wyświetlanych elementów
- Wybierz przycisk „Udostępnij”
- Określ nazwę organizacji, aby ta integracja została widoczna.
- Aby na przykład uwidocznić integrację w organizacji dev.azure.com/fabrikam-fiber-inc, określ
fabrikam-fiber-inc
.
- Aby na przykład uwidocznić integrację w organizacji dev.azure.com/fabrikam-fiber-inc, określ
Aktualizowanie elementu
Aby zmienić już opublikowane rozszerzenie, zaktualizuj je.
Wskazówka
Zalecamy zaktualizowanie rozszerzenia zamiast jego usuwania i ponownego przesyłania. Zalecamy również posiadanie dwóch rozszerzeń, na przykład publisher.extension
i publisher.extension-dev
.
Publisher.extension
jest publiczny w witrynie Marketplace, gdzie klienci mogą zainstalować ją w swoich organizacjach usługi Azure DevOps.
Publisher.extension-dev
jest prywatna w witrynie Marketplace i może być udostępniana organizacji, której jesteś właścicielem i kontrolujesz.
Nie trzeba utrzymywać dwóch kopii kodu źródłowego rozszerzenia. Można obsługiwać dwa pliki manifestu — jeden dla każdego rozszerzenia, a podczas tworzenia pakietu rozszerzenia można podać odpowiedni plik manifestu do narzędzia tfx-cli. Aby uzyskać więcej informacji na temat argumentów wymaganych przez narzędzie, zobacz polecenia rozszerzenia TFX.
- Wybierz rozszerzenie z listy wyświetlanych elementów.
- Kliknij prawym przyciskiem myszy i wybierz Update dla
publisher.extension-dev
, na przykład. - Zweryfikuj rozszerzenie.
- Wprowadź te same aktualizacje wersji produkcyjnej, na przykład
publisher.extension
. - Przejdź do pliku .vsix dla swojego rozszerzenia i prześlij go.
Zaktualizowana wersja rozszerzenia jest automatycznie instalowana na kontach, na których jest już zainstalowana. Nowe konta, na których zainstalowano rozszerzenie w przyszłości, również otrzymają najnowszą wersję.
Upublicznij integrację (widoczną dla wszystkich)
Aby uzyskać informacje na temat upublicznienia integracji, odwiedź stronę Udostępnij listę publiczną.