Paketieren und Veröffentlichen einer Integration im Marketplace

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019 | TFS 2018

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 im 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 Paketerstellungs- und Veröffentlichungsinformationen für Erweiterungen suchen, lesen Sie Paketveröffentlichungserweiterungen&.

Veröffentlichungsbedingungen

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

  • Installieren Sie das Erweiterungsverpackungstool (TFX). Führen Sie npm install -g tfx-cli an einer Eingabeaufforderung aus.
  • Stellen Sie sicher, dass die erforderlichen Berechtigungen für die Verwendung von Bildern erteilt werden, z. B. Symbole, Logos, Screenshots usw.
  • Fügen Sie eine ausführliche overview.md Datei hinzu, um Ihren Eintrag im Marketplace zu beschreiben.
  • Fügen Sie ein Symbol für Ihre Erweiterung ein, das mindestens 128 x 128 Pixel groß ist.
  • Wenn Sie sich auf Microsoft-Produkte beziehen, verwenden Sie anstelle von Abkürzungen vollständige Namen, z. B. Azure DevOps im Vergleich zu AzDO oder eine andere Abkürzung.
  • Verwenden Sie keine Markennamen im Namen Ihrer Erweiterung.

Voraussetzungen

  1. Logo mit 128 x 128 Pixeln (PNG- oder JPEG-Format) für Ihre Integration, Sie selbst oder Ihr Unternehmen/organization
  2. Mindestens ein Screenshot mit Ihrer Integration
  3. Call-to-Action/Get Started URL (hier sollten Benutzer die ersten Schritte mit Ihrer Integration verwenden)

Schritte

Die Veröffentlichung im Marketplace ist ein iterativer Prozess, der mit dem Erstellen einer Manifestdatei beginnt, die Ihre Integrations- und Ermittlungsmerkmale definiert (z. B. Screenshots, Logos und Übersichtsinhalte). Diese Informationen werden verwendet, um Benutzern im Marketplace Ihre Integration 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 weisen viele Ähnlichkeiten aus Ermittlungssicht als Integrationen auf.

Benötigen Sie Hilfe bei der Integration im Marketplace? Setzen Sie sich mit uns in Verbindung. 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 darunter veröffentlichen. Sie können auch anderen Personen 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. Der Herausgeber kann auch für andere Benutzer freigegeben werden.

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

  2. Wenn Sie noch kein Mitglied eines vorhandenen Herausgebers sind, + Erstellen Sie einen Verleger.

    1. Geben Sie einen Namen in das Feld Herausgebername ein. Das ID-Feld sollte automatisch basierend auf dem eingegebenen Namen festgelegt werden.

    Screenshot: hervorgehobene Schaltfläche

    Hinweis

    Notieren Sie sich die ID. Sie müssen es in der Manifestdatei Ihrer Erweiterung festlegen.

    Wenn Sie nicht aufgefordert werden, einen Herausgeber zu erstellen, scrollen Sie nach unten bis zum unteren Rand der Seite, und wählen Sie Unter Verwandte WebsitesErweiterungen veröffentlichen 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 ihrer 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.

    Erstellen eines Herausgebers für die Erweiterung

Sobald der Herausgeber erstellt hat, werden Sie angewiesen, Elemente zu verwalten, aber es sind keine Elemente vorhanden.

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

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

  1. Erstellen Sie einen Ordner namens images , der Folgendes enthält:
    • Logo für Ihre Integration (128 x 128 Pixel)
    • Screenshots (1366 x 768 Pixel)
  2. Erstellen einer Datei mit dem Namen overview.md
  3. Erstellen einer Datei mit dem Namen vss-integration.json
    • Diese Datei ist die Manifestdatei Ihres Marketplace-Eintrags und 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 sein 1.
ID Der Bezeichner der Erweiterung. Die 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, für Menschen 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. Weitere Informationen finden Sie unter Erstellen und Verwalten eines Herausgebers.
categories Array von Zeichenfolgen, die die Kategorien darstellen, zu denen ihre Erweiterung gehört. Es muss mindestens eine Kategorie angegeben werden, und es gibt keine Begrenzung für die Anzahl der Kategorien, die 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 die Azure DevOps-Erweiterungsaufgaben-Erweiterung zum Veröffentlichen verwenden, stellen Sie sicher, dass die Version = 1.2.8 lautet >. Möglicherweise müssen Sie das Erweiterungsupdate aufgrund der letzten Bereichsänderungen genehmigen.
  • Die zuvor erwähnten Kategorien sind nativ im Visual Studio Marketplace und Azure DevOps Server oben 2019 & vorhanden. Für Erweiterungen, die auf frühere TFS-Versionen abzielen:
    • Wenn TFS-Kunden Ihre Erweiterung über Visual Studio Marketplace (nicht lokaler Katalog) im verbundenen Kontext erwerben, verwenden Sie die zuvor angegebenen Kategorien.
    • Wenn Sie die Erweiterung direkt (d. h. nicht über den Visual Studio Marketplace) für einen Kunden freigeben möchten, der TFS <=2018 verwendet, verwenden Sie stattdessen die folgenden Kategorien: Code, Planen und Nachverfolgen, Erstellen und Freigeben, Testen, Zusammenarbeiten und Integrieren. Wenn Sie beide über Visual Studio Marketplace und direkt für einen TFS <= 2018-Kunden freigeben müssen, benötigen Sie zwei Erweiterungspakete.
targets Die Produkte und Dienste, die von Ihrer Integration oder Erweiterung unterstützt werden. Weitere Informationen finden Sie unter Installationsziele. Ein Array von -Objekten, bei denen jedes Objekt über ein id Feld verfügt, das eines der folgenden Angibt:
  • Microsoft.VisualStudio.Services (Erweiterungen, die mit Azure DevOps oder TFS funktionieren),
  • 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 "Aufzugsabstand" Ihrer Erweiterung sein – ein paar Zeilen, um Ihre Erweiterung im Marketplace zu beschreiben und die Benutzer dazu zu bringen, sie zu installieren. Sehen Sie sich das folgende Beispiel an.
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) werden möglicherweise in Zukunft unterstützt. Der Wert jedes Schlüssels ist der Pfad zur Symboldatei in der Erweiterung.
Tags Array von Zeichenfolgentags, um Benutzern bei der Suche nach Ihrer Erweiterung zu helfen. Beispiele: agile, project management, task timerusw.
Screenshots Array von Bildern, die nicht in Ihrem Inhalt enthalten sein konnten. Screenshots sind wertvoller, wenn sie in Ihren Inhalten vorgestellt werden, und sollten dort verwendet werden, um eine Qualitätsmarktdetailseite 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 aufweisen. Das path der einzelnen Elemente ist der Pfad zur Datei in der Erweiterung.
content Wörterbuch der 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 reichhaltig, konsumierbar, und fügen Sie bei Bedarf Screenshots hinzu. Schließen Sie eine overview.md Datei als Basisinhalt ein. Es wird davon ausgegangen, dass jede Datei GitHub Flavored Markdown Format hat. Der path der einzelnen Elemente ist der Pfad zur Markdowndatei 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, Unterstützung zu erhalten und zu verschieben. Gültige Schlüssel: getstarted - erste Schritte, wie sie eingerichtet oder verwendet werden. learn - tiefere Inhalte, die Benutzern helfen, Ihre Erweiterung oder Ihren Dienst besser zu verstehen. license - Endbenutzer-Lizenzvereinbarung. privacypolicy - Datenschutzrichtlinie für eine Erweiterung. support – Hilfe und Support für eine Erweiterung erhalten. Der Wert jedes Schlüssels ist ein Objekt mit einem uri Feld, das die absolute URL des Links darstellt.
Repository Wörterbuch der Eigenschaften, die das Quellcoderepository für die Erweiterung beschreiben Gültige Schlüssel: type - Typ des Repositorys. 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 – Link, zu dem der Benutzer beim Auswählen des Badges navigiert. uri – Die absolute URL des anzuzeigenden Badgebilds. description - Beschreibung des Badges, das beim Zeigen angezeigt werden soll.
Branding Wörterbuch der markenbezogenen Eigenschaften. Gültige Schlüssel: color - Primärfarbe der Erweiterung oder des Herausgebers; kann ein Hex (#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 verhindern, dass Ihre Erweiterung oder Integration für alle Benutzer im Marketplace vorzeitig sichtbar wird.

Paketieren 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 Ihre Befehlszeile installieren oder aktualisieren.

npm i -g tfx-cli

Packen Ihrer 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 den --rev-version Befehlszeilenschalter übergeben. Dadurch wird die Patchversionsnummer Ihrer Erweiterung erhöht und die neue Version in Ihrem Manifest gespeichert.

Veröffentlichen Ihrer Integration im Marketplace

Nachdem Ihre Erweiterung gepackt wurde, können Sie sie in den Marketplace unter einem Herausgeber 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 im Dropdownmenü oben auf der Seite Ihren Herausgeber aus.

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

    Screenshot: Dropdownmenü

  3. Ziehen Sie ihre Datei, oder wählen Sie sie aus, um ihre VSIX-Datei zu finden, die Sie im vorherigen Paketschritt erstellt haben, und wählen Sie dann Hochladen aus.

    Laden Sie eine neue Erweiterung für Azure DevOps hoch.

    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: 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 die Überprüfung vollständig ist, veröffentlichen wir die Erweiterung nicht im Marketplace für die öffentliche Nutzung. Auf diese Weise vermeiden wir auch, dass unangemessene oder anstößige Inhalte auf den Marketplace-Seiten angezeigt werden.

Teilen Ihrer Integration

Bevor Sie eine Integration in eine organization in Azure DevOps oder TFS installieren können, müssen Sie sie für diesen organization freigeben. Die Freigabe ist eine Anforderung bei der Entwicklung und dem Testen einer Integration, da dies die einzige Möglichkeit zum Ausführen einer Integration ist.

Führen Sie zum Freigeben einer Integration die folgenden Aufgaben aus:

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

Aktualisieren eines Elements

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

Tipp

Es wird empfohlen, die Erweiterung beim Entfernen und erneuten Hochladen zu aktualisieren. Außerdem wird empfohlen, zwei Erweiterungen zu verwenden, z. B. publisher.extension und publisher.extension-dev. Publisher.extension ist öffentlich im Marketplace, wo Kunden es in ihren Azure DevOps-Organisationen installieren können. Publisher.extension-devwird im Marketplace privat gehalten und kann für eine organization freigegeben werden, die Sie besitzen und kontrollieren. Sie müssen keine zwei Kopien des Quellcodes der Erweiterung verwalten. Sie können zwei Manifestdateien verwalten – eine für jede Erweiterung und während des Packens der Erweiterung können Sie die entsprechende Manifestdatei für das tfx-cli-Tool bereitstellen. Weitere Informationen zu den für das Tool erforderlichen Argumenten finden Sie unter TFX-Erweiterungsbefehle.

  1. Wählen Sie eine Erweiterung aus der Liste der angezeigten Elemente aus.
  2. Klicken Sie mit der publisher.extension-devrechten Maustaste, und wählen Sie z. B. Aktualisieren aus.
  3. Überprüfen Sie Ihre Erweiterung.
  4. Führen Sie die gleichen Updates für die Produktionsversion aus, publisher.extensionz. B.
  5. Navigieren Sie zur VSIX-Datei für Ihre Erweiterung, und laden Sie sie hoch.

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

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

Informationen zur Veröffentlichung Ihrer Integration finden Sie unter Veröffentlichen Ihres Eintrags.