Udostępnij za pośrednictwem


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

  1. Logo 128x128 pikseli (format PNG lub JPEG) reprezentujące Twoją integrację, Ciebie lub Twoją firmę/organizację
  2. Co najmniej jeden zrzut ekranu przedstawiający integrację
  3. 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:

przykład

Jenkins dla usługi Azure DevOps

Uwaga: termin extensionjest 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.

Potrzebujesz pomocy przy wprowadzeniu swojej integracji na Marketplace? Skontaktuj się z nami. I, tak, ten adres e-mail jest monitorowany przez prawdziwych ludzi.

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.

  1. Zaloguj się do witryny Portal publikowania witryny Marketplace programu Visual Studio.

  2. 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.

    Zrzut ekranu przedstawiający wyróżniony przycisk Utwórz wydawcę.

    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ść atrybutu publisher w pliku manifestu rozszerzenia.
    • Określ nazwę wyświetlaną wydawcy, na przykład: My Team
  3. Przejrzyj umowę wydawcy Marketplace , a następnie wybierz pozycję Utwórz.

    Tworzenie wydawcy dla 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:

  1. Utwórz folder o nazwie images do przechowywania:
    • Logo integracji (128x128 pikseli)
    • Zrzuty ekranu (1366x768 pikseli)
  2. Tworzenie pliku o nazwie overview.md
    • Tutaj opisz swoją integrację
    • Aby dowiedzieć się więcej na temat języka Markdown, zobacz GitHub Flavored Markdown
  3. 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

  1. 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"
        }
    }
    
  2. Zaktualizuj kod JSON przy użyciu następującego odwołania:

te właściwości są wymagane:

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 Plansi Azure Artifacts.

Notatki:
    — Użyj wersji >=0.6.3 tfx-cli, jeśli publikujesz programowo rozszerzenie.
    — 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 timeritd.
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

karta

Upewnij się, że atrybut "public" ma ustawioną wartość "false" (lub nie ustawiono w ogóle), aby uniknąć przedwczesnego uwidocznienia rozszerzenia lub integracji dla wszystkich użytkowników w witrynie Marketplace.

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.

  1. W portalu zarządzania wybierz wydawcę z menu rozwijanego w górnej części strony.

  2. Wybierz pozycję Nowe rozszerzenie>Azure DevOps.

    Zrzut ekranu przedstawiający menu rozwijane nowego rozszerzenia i wyróżniono wybór usługi Azure DevOps.

  3. 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ż.

    Zrzut ekranu przedstawiający przekazywanie nowego rozszerzenia dla usługi Azure DevOps.

    Po szybkiej weryfikacji rozszerzenie zostanie wyświetlone na liście opublikowanych rozszerzeń. Nie martw się, rozszerzenie jest widoczne tylko dla Ciebie.

    Zrzut ekranu przedstawiający rozszerzenie na liście opublikowanych rozszerzeń.

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:

  1. Wybierz integrację z listy wyświetlanych elementów
  2. Wybierz przycisk „Udostępnij”
  3. 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.

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.

  1. Wybierz rozszerzenie z listy wyświetlanych elementów.
  2. Kliknij prawym przyciskiem myszy i wybierz Update dla publisher.extension-dev, na przykład.
  3. Zweryfikuj rozszerzenie.
  4. Wprowadź te same aktualizacje wersji produkcyjnej, na przykład publisher.extension.
  5. 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ą.