Packen und Veröffentlichen einer Integration auf dem Marketplace

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Verfügen Sie über ein Tool, einen Dienst oder ein Produkt, das in Azure DevOps oder Team Foundation Server (TFS) integriert ist? Wenn ja, helfen Sie Benutzern, sie zu finden, indem Sie sie auf dem Visual Studio Marketplace veröffentlichen. Der Marketplace ist eine zentrale Anlaufstelle für Einzelpersonen und Teams, um Tools zu finden, die die Erfahrung erweitern und verbessern.

Durchsuchen Sie den Marketplace , um Beispiele für andere Integrationen und Erweiterungen anzuzeigen.

Hinweis

Wenn Sie nach Paket- und Veröffentlichungsinformationen für Erweiterungen suchen, lesen Sie Package & Publish Extensions.

Veröffentlichungsbedingungen

Die folgende Liste der Anforderungen muss erfüllt sein, bevor Sie auf dem Marketplace veröffentlichen.

  • Installieren Sie das Erweiterungspakettool (TFX). Führen Sie npm install -g tfx-cli eine Eingabeaufforderung aus.
  • Stellen Sie sicher, dass die richtigen Berechtigungen erteilt werden, um Bilder zu verwenden, z. B. Symbole, Logos, Screenshots usw.
  • Fügen Sie eine gründliche overview.md Datei hinzu, um Ihren Eintrag auf dem Marketplace zu beschreiben.
  • Fügen Sie ein Symbol für Die Erweiterung ein, das mindestens 128 x 128 Pixel groß ist.
  • Wenn Sie auf Microsoft-Produkte verweisen, verwenden Sie vollständige Namen anstelle von Abkürzungen, z. B. Azure DevOps vs. AzDO oder eine andere Abkürzung.
  • Vermeiden Sie die Verwendung von Markennamen im Namen Ihrer Erweiterung.

Voraussetzungen

  1. 128 x 128 Pixel Logo (PNG- oder JPEG-Format), das Ihre Integration, Selbst oder Ihr Unternehmen/Ihre Organisation darstellt
  2. Mindestens ein Screenshot, der Ihre Integration zeigt
  3. Handlungsanruf/URL für erste Schritte (wo Benutzer mit Ihrer Integration beginnen sollten)

Schritte

Die Veröffentlichung auf dem Marketplace ist ein iterativer Prozess, der mit dem Erstellen einer Manifestdatei beginnt, die Ihre Integrations- und Schlüsselerkennungsmerkmale definiert (z. B. Screenshots, Logos und Übersichtsinhalte). Diese Informationen werden verwendet, um Ihre Integration für Benutzer auf dem Marketplace zu präsentieren, z. B.:

Beispiel

Jenkins für Azure DevOps

Hinweis: Der Begriff , wird in Dokumentationen verwendet, extensionauf die unten verwiesen wird. Erweiterungen sind eine andere Art von Marketplace-Element und teilen viele Ähnlichkeiten aus einem Discovery-Standpunkt als Integrationen.

Benötigen Sie Hilfe bei der Integration auf dem Marketplace? Kontaktieren Sie uns. Und ja, diese E-Mail-Adresse wird von echten Personen überwacht.

Erstellen eines Herausgebers

Alle Erweiterungen und Integrationen, einschließlich Erweiterungen von Microsoft, verfügen über einen Herausgeber. Jeder kann einen Herausgeber erstellen und Erweiterungen veröffentlichen. Sie können anderen Personen auch Zugriff auf Ihren Herausgeber gewähren, wenn ein Team die Erweiterung entwickelt.

Ein Benutzer besitzt den Herausgeber, in der Regel der Benutzer, der ihn erstellt hat. Sie können den Herausgeber auch für andere Benutzer freigeben.

  1. Melden Sie sich beim Visual Studio Marketplace-Veröffentlichungsportal an.

  2. Wenn Sie noch kein Mitglied eines vorhandenen Herausgebers sind, + Erstellen Sie einen Herausgeber. Geben Sie einen Namen in das Feld "Herausgebername" ein. Das Feld "ID" sollte basierend auf dem eingegebenen Namen automatisch festgelegt werden.

    Screenshot der hervorgehobenen Schaltfläche

    Hinweis

    Notieren Sie sich die ID, da Sie sie in der Manifestdatei Ihrer Erweiterung festlegen müssen.

    Wenn Sie nicht aufgefordert werden, einen Herausgeber zu erstellen, scrollen Sie nach unten nach unten auf der Seite, und wählen Sie "Erweiterungen veröffentlichen" unter "Verwandte Websites" aus.

    • Geben Sie einen Bezeichner für Ihren Herausgeber an, z. B.: mycompany-myteam. Dieser Bezeichner wird als Wert für das publisher Attribut in der Erweiterungsmanifestdatei verwendet.
    • Geben Sie einen Anzeigenamen für Ihren Herausgeber an, z. B.: My Team
  3. Überprüfen Sie die Marketplace-Herausgebervereinbarung, und wählen Sie dann "Erstellen" aus.

    Herausgeber für Erweiterung erstellen

Nachdem der Herausgeber erstellt wurde, werden Sie angewiesen, Elemente zu verwalten, aber es gibt keine Elemente.

Erstellen eines Ordners, der Ihr Elementmanifest und andere Objekte enthält

Bevor Sie Ihre Integration als Erweiterung verpacken, müssen Sie einen home Ordner erstellen, der einige erforderliche Ressourcen in diesem Ordner enthält:

  1. Erstellen Sie einen Ordner, der aufgerufen werden images soll, um Folgendes zu enthalten:
    • Logo für Ihre Integration (128 x 128 Pixel)
    • Screenshots (1366 x 768 Pixel)
  2. Erstellen einer Datei namens overview.md
  3. Erstellen einer Datei namens vss-integration.json
    • Diese Datei ist die Manifestdatei Ihres Marketplace-Eintrags, sie enthält viele Eigenschaften, um Ihre Erweiterung in Ihrem Marketplace-Eintrag zu beschreiben. Sie können die Erweiterungsmanifestreferenz hier durchsuchen.

Erweiterungsmanifest

  1. Füllen Sie Ihre vss-integration.json Datei mit dem folgenden JSON-Code aus:

    {
        "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. Aktualisieren Sie den JSON-Code mithilfe der folgenden Referenz:

Diese Eigenschaften sind erforderlich:

Eigenschaft BESCHREIBUNG Hinweise
manifestVersion Eine Zahl, die der Version des Manifestformats entspricht. Sollte 1 lauten.
ID Der Bezeichner der Erweiterung. Th ID ist eine Zeichenfolge, die zwischen Erweiterungen desselben Herausgebers eindeutig sein muss. Sie muss mit einem alphabetischen oder numerischen Zeichen beginnen und "A" bis "Z", "a" bis "z", "0" bis "9" und "-" (Bindestrich) enthalten. Beispiel: sample-extension.
Version Eine Zeichenfolge, die die Version einer Erweiterung angibt. Sollte im Format major.minor.patchvorliegen, z. B 0.1.2 . oder 1.0.0. Sie können auch eine vierte Zahl für das folgende Format hinzufügen: 0.1.2.3
name Ein kurzer, menschlich lesbarer Name der Erweiterung. Auf 200 Zeichen beschränkt. Beispiel: "Fabrikam Agile Board Extension".
publisher Der Bezeichner des Herausgebers. Dieser Bezeichner muss mit dem Bezeichner übereinstimmen, unter dem die Erweiterung veröffentlicht wird. Siehe Erstellen und Verwalten eines Herausgebers.
Kategorien Array von Zeichenfolgen, die die Kategorien darstellen, zu denen Ihre Erweiterung gehört. Mindestens eine Kategorie muss bereitgestellt werden, und es gibt keine Beschränkung, wie viele Kategorien Sie einschließen können. Gültige Werte: Azure Repos, , Azure Boards, Azure Pipelines, Azure Test Plansund Azure Artifacts.

Hinweise:
    - Verwenden Sie version >=0.6.3 der tfx-cli, wenn Sie die Erweiterung programmgesteuert veröffentlichen.
    – Wenn Sie azure DevOps-Erweiterungsaufgaben zum Veröffentlichen verwenden, stellen Sie sicher, dass ihre Version = 1.2.8 ist>. Möglicherweise müssen Sie das Erweiterungsupdate aufgrund der letzten Bereichsänderungen genehmigen.
    – Die zuvor Erwähnung kategorien sind nativ in Visual Studio Marketplace und Azure DevOps Server 2019 & höher vorhanden. Für Erweiterungen für frühere Versionen von TFS:
      - Wenn TFS-Kunden Ihre Erweiterung über Visual Studio Marketplace (nicht im lokalen Katalog) im verbundenen Kontext erwerben, verwenden Sie die zuvor angegebenen Kategorien.
      - Wenn Sie die Erweiterung direkt (d. h. nicht über den Visual Studio Marketplace) mit einem Kunden teilen möchten, der TFS <=2018 verwendet, verwenden Sie stattdessen die folgenden Kategorien: Code, Plan and track, Build and release, Test, Collaborate, and Integration. Wenn Sie beide über Visual Studio Marketplace und direkt mit einem TFS <= 2018-Kunden teilen müssen, müssen Sie zwei Erweiterungspakete haben.
targets Die Produkte und Dienste, die von Ihrer Integration oder Erweiterung unterstützt werden. Weitere Informationen finden Sie unter Installationsziele. Ein Array von Objekten, wobei jedes Objekt ein id Feld enthält, das eine der folgenden Werte angibt:
    - Microsoft.VisualStudio.Services(Erweiterungen, die mit Azure DevOps oder TFS arbeiten),
    Microsoft.TeamFoundation.Server- (Erweiterung, die mit TFS funktioniert),- Microsoft.VisualStudio.Services.Integration
    (Integrationen, die mit Azure DevOps oder TFS funktionieren),
    - Microsoft.TeamFoundation.Server.Integration (Integrationen, die mit TFS funktionieren)

Diese optionalen Eigenschaften helfen Benutzern, Ihre Erweiterung zu entdecken und zu erfahren:

Eigenschaft BESCHREIBUNG Hinweise
Beschreibung Einige Sätze, die die Erweiterungen beschreiben. Auf 200 Zeichen beschränkt. Die Beschreibung sollte der "Aufzugswinkel" Ihrer Erweiterung sein - ein paar Zeilen, um Ihre Erweiterung auf dem Marketplace zu beschreiben und die Benutzer zu installieren. Siehe das Beispiel unten
Symbole Wörterbuch der Symbole, die die Erweiterung darstellen. Gültige Schlüssel: default (128 x 128 Pixel) vom Typ BMP, GIF, EXIF, JPG, PNG und TIFF). Andere Schlüssel wie large (512 x 512 Pixel) können in Zukunft unterstützt werden. Der Wert jedes Schlüssels ist der Pfad zur Symboldatei in der Erweiterung.
Tags Array von Zeichenfolgentags, damit Benutzer Ihre Erweiterung finden können. Beispiele: agile, , task timerproject management, usw.
Screenshots Array von Bildern, die nicht in Ihre Inhalte einbezogen werden konnten. Screenshots sind wertvoller, wenn sie in Ihren Inhalten enthalten sind, und sollten dort verwendet werden, um eine Seite mit Qualitätsmarktdetails für Ihre Erweiterung zu erstellen. Verwenden Sie Screenshots für weniger wichtige Bilder, die nicht in Ihren Inhalten enthalten sind. Jedes Bild sollte 1366 x 768 Pixel groß sein. Das path element ist der Pfad zu der Datei in der Erweiterung.
content Wörterbuch von Inhaltsdateien, die Ihre Erweiterung für Benutzer beschreiben. Jede Erweiterung sollte soliden Inhalt enthalten. So zeigen Sie Benutzern, was Ihre Erweiterung tun kann. Machen Sie es reich, konsumierbar, und fügen Sie bei Bedarf Screenshots hinzu. Fügen Sie eine overview.md Datei als Basisinhaltsteil hinzu. Jede Datei wird als GitHub-Format "Flavored Markdown" angenommen. Das path element ist der Pfad zur Markdown-Datei in der Erweiterung. Gültige Schlüssel: details. Andere Schlüssel können in Zukunft unterstützt werden.
Links Wörterbuch mit Links, die Benutzern helfen, mehr über Ihre Erweiterung zu erfahren, Support zu erhalten und zu verschieben. Gültige Schlüssel: getstarted - erste Schritte, Wie sie eingerichtet oder verwendet werden. learn – tiefere Inhalte, damit Benutzer Ihre Erweiterung oder Ihren Dienst besser verstehen können. license – Endbenutzer-Lizenzvertrag. privacypolicy - Datenschutzrichtlinie für eine Erweiterung. support – Erhalten Sie Hilfe und Support für eine Erweiterung. Der Wert jedes Schlüssels ist ein Objekt mit einem uri Feld, bei dem es sich um die absolute URL des Links handelt.
Repository Wörterbuch der Eigenschaften, die das Quellcode-Repository für die Erweiterung beschreiben Gültige Schlüssel: type - Repositorytyp. Beispiel: git. uri - Absolute URL des Repositorys.
Abzeichen Array von Links zu externen Metadaten-Badges wie TravisCI, Appveyor usw. von den genehmigten Badges-Websites Gültige Schlüssel: href – Der Benutzer navigiert beim Auswählen des Badges. uri - Die absolute URL des anzuzeigenden Signalbilds. description - Beschreibung des Signals, das beim Daraufzeigen angezeigt werden soll.
Branding Wörterbuch der markenbezogenen Eigenschaften. Gültige Schlüssel: color - Primärfarbe der Erweiterung oder des Herausgebers; kann ein Hexadex (#ff00ff), RGB (rgb(100,200,50)) oder unterstützte HTML-Farbnamen (Blau) sein. theme - ergänzt die Farbe; Verwenden Sie dunkel für dunkle Brandingfarben oder hell für hellere Brandingfarben.

Detailseite

  • 1 - Beschreibung
  • 2 - Symbol
  • 3 - Kategorien
  • 4 – Screenshots
  • 5 – Inhalt (Details)
  • 6 - Links
  • 7 - Branding

card

Stellen Sie sicher, dass das Attribut "public" auf "false" (oder gar nicht festgelegt) festgelegt wird, um zu vermeiden, dass Ihre Erweiterung oder Integration vorzeitig für alle Benutzer auf dem Marketplace sichtbar wird.

Packen Ihres Manifests und Ihrer Ressourcen

Abrufen des Pakettools (tfx-cli)

Sie können die plattformübergreifende CLI für Azure DevOps (tfx-cli) mithilfe npmvon , einer Komponente von Node.js, über die Befehlszeile installieren oder aktualisieren.

npm i -g tfx-cli

Verpacken Der Integration in eine VSIX-Datei

tfx extension create --manifest-globs vss-extension.json

Hinweis

Die Version einer Erweiterung/Integration muss bei jedem Update erhöht werden.
Wenn Sie ihre Erweiterung/Integration im Manifest nicht erhöht haben, sollten Sie die --rev-version Befehlszeilenoption übergeben. Dadurch wird die Patchversionsnummer Ihrer Erweiterung erhöht und die neue Version in Ihrem Manifest gespeichert.

Veröffentlichen Ihrer Integration auf dem Marketplace

Nachdem Ihre Erweiterung gepackt wurde, können Sie sie unter einem Herausgeber in den Marketplace hochladen. Der publisher in der Manifestdatei Ihrer Erweiterung angegebene Bezeichner muss mit dem Bezeichner des Herausgebers übereinstimmen, unter dem die Erweiterung hochgeladen wird.

  1. Wählen Sie im Verwaltungsportal ihren Herausgeber im Dropdownmenü oben auf der Seite aus.

  2. Wählen Sie "Neue Erweiterung>" in Azure DevOps aus.

    Screenshot des Dropdownmenüs

  3. Ziehen Sie die Datei, und legen Sie sie ab, oder wählen Sie sie aus, um Ihre VSIX-Datei zu finden, die Sie im vorherigen Verpackungsschritt erstellt haben, und wählen Sie dann "Hochladen" aus.

    Screenshot des Uploads der neuen Erweiterung für Azure DevOps.

    Nach der schnellen Überprüfung wird Ihre Erweiterung in der Liste der veröffentlichten Erweiterungen angezeigt. Keine Sorge, die Erweiterung ist nur für Sie sichtbar.

    Screenshot der Erweiterung in der Liste der veröffentlichten Erweiterungen.

An diesem Punkt ist Ihre Erweiterung für keine Konten sichtbar und kann erst installiert werden, wenn Sie sie freigeben.

Hinweis

Microsoft führt einen Virenscan für jedes neue und aktualisierte Erweiterungspaket aus, das veröffentlicht wurde. Bis der Scan vollständig klar ist, veröffentlichen wir die Erweiterung nicht im Marketplace für die öffentliche Nutzung. Auf diese Weise vermeiden wir auch unangemessene oder anstößige Inhalte auf den Marketplace-Seiten.

Teilen Ihrer Integration

Bevor Sie eine Integration in eine Organisation in Azure DevOps oder TFS installieren können, müssen Sie sie für diese Organisation freigeben. Die Freigabe ist eine Anforderung bei der Entwicklung und beim Testen einer Integration, da es die einzige Möglichkeit ist, eine Integration auszuführen.

Gehen Sie wie folgt vor, um eine Integration zu teilen:

  1. Wählen Sie eine Integration aus der Liste der angezeigten Elemente aus.
  2. Schaltfläche "Freigeben" auswählen
  3. Geben Sie den Namen der Organisation an, um diese Integration sichtbar zu machen.
    • Geben Sie fabrikam-fiber-incbeispielsweise an, um eine Integration für die dev.azure.com/fabrikam-fiber-inc Organisation sichtbar zu machen.

Aktualisieren eines Elements

Um eine bereits veröffentlichte Erweiterung zu ändern, aktualisieren Sie sie.

Tipp

Es wird empfohlen, die Erweiterung über das Entfernen und erneutes Hochladen zu aktualisieren. Es wird außerdem empfohlen, publisher.extension zwei Erweiterungen zu haben, z. B. und publisher.extension-dev. Publisher.extension ist im Marketplace öffentlich, wo Kunden sie in ihren Azure DevOps-Organisationen installieren können. Publisher.extension-dev wird im Marketplace privat gehalten und kann mit einer Organisation geteilt werden, die Sie besitzen und kontrollieren. Sie müssen nicht zwei Kopien des Quellcodes der Erweiterung Standard enthalten. Sie können zwei Manifestdateien Standard - eine für jede Erweiterung und während der Verpackung der Erweiterung können Sie die entsprechende Manifestdatei für das tfx-cli-Tool bereitstellen. Weitere Informationen zu argumenten, die für das Tool erforderlich sind, finden Sie unter TFX-Erweiterungsbefehle.

  1. Wählen Sie eine Erweiterung aus der Liste der angezeigten Elemente aus.
  2. Klicken Sie mit der rechten Maustaste, und wählen Sie "Aktualisieren" für das publisher.extension-devBeispiel aus.
  3. Überprüfen Sie Ihre Erweiterung.
  4. Nehmen Sie die gleichen Aktualisierungen an der Produktionsversion vor, publisher.extensionz. B.
  5. Navigieren Sie zu ".vsix" für Ihre Erweiterung, und laden Sie sie hoch.

Die aktualisierte Version Ihrer Erweiterung wird automatisch auf Konten installiert, auf denen sie bereits installiert ist. Neue Konten, bei denen die Erweiterung in Zukunft installiert ist, erhalten auch die neueste Version.

Machen Sie Ihre Integration öffentlich (für alle sichtbar)

Informationen dazu, wie Sie Ihre Integration öffentlich machen, finden Sie unter "Veröffentlichen Ihres Eintrags".