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
- Logo mit 128 x 128 Pixeln (PNG- oder JPEG-Format) für Ihre Integration, Sie selbst oder Ihr Unternehmen/organization
- Mindestens ein Screenshot mit Ihrer Integration
- 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.:
Hinweis: Der Begriff , wird in dokumentationen verwendet, extension
auf die unten verwiesen wird. Erweiterungen sind eine andere Art von Marketplace-Element und weisen viele Ähnlichkeiten aus Ermittlungssicht als Integrationen auf.
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.
Melden Sie sich beim Visual Studio Marketplace-Veröffentlichungsportal an.
Wenn Sie noch kein Mitglied eines vorhandenen Herausgebers sind, + Erstellen Sie einen Verleger.
- Geben Sie einen Namen in das Feld Herausgebername ein. Das ID-Feld sollte automatisch basierend auf dem eingegebenen Namen festgelegt werden.
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.
- Dieser Bezeichner wird als Wert für das
- Geben Sie einen Anzeigenamen für Ihren Herausgeber an, z. B.:
My Team
Überprüfen Sie die Marketplace-Herausgebervereinbarung, und wählen Sie dann Erstellen aus.
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:
- Erstellen Sie einen Ordner namens
images
, der Folgendes enthält:- Logo für Ihre Integration (128 x 128 Pixel)
- Screenshots (1366 x 768 Pixel)
- Erstellen einer Datei mit dem Namen
overview.md
- Beschreiben Ihrer Integration hier
- Weitere Informationen zu Markdown finden Sie unter GitHub Flavored Markdown
- 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
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" } }
Aktualisieren Sie den JSON-Code mithilfe der folgenden Referenz:
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.patch vorliegen, 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 Plans und Azure Artifacts .Hinweise:
|
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:
|
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 timer usw. |
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
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 npm
von , 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.
Wählen Sie im Verwaltungsportal im Dropdownmenü oben auf der Seite Ihren Herausgeber aus.
Wählen Sie Neue Erweiterung>Azure DevOps aus.
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.
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.
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:
- Wählen Sie eine Integration aus der Liste der angezeigten Elemente aus.
- Wählen Sie die Schaltfläche Freigeben aus.
- Geben Sie den Namen der organization an, für die diese Integration sichtbar wird.
- Geben Sie
fabrikam-fiber-inc
beispielsweise an, um eine Integration für die dev.azure.com/fabrikam-fiber-inc organization sichtbar zu machen.
- Geben Sie
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-dev
wird 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.
- Wählen Sie eine Erweiterung aus der Liste der angezeigten Elemente aus.
- Klicken Sie mit der
publisher.extension-dev
rechten Maustaste, und wählen Sie z. B. Aktualisieren aus. - Überprüfen Sie Ihre Erweiterung.
- Führen Sie die gleichen Updates für die Produktionsversion aus,
publisher.extension
z. B. - 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.