Freigeben über


Packen und Veröffentlichen einer Integration

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

Veröffentlichen Sie Ihr Tool, Ihren Dienst oder Ihr Produkt, das in Azure DevOps auf dem Visual Studio Marketplace integriert ist. Der Marketplace ist der zentrale Hub für Benutzer, um Integrationen und Erweiterungen zu entdecken.

Hinweis

In diesem Artikel werden Integrationen (externe Tools und Dienste) behandelt. Erweiterungen (Add-Ons, die in Azure DevOps ausgeführt werden), finden Sie unter "Paket" und "Veröffentlichen von Erweiterungen".

Voraussetzungen

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

Kategorie Anforderungen
Verpackungstool Installieren Sie das Erweiterungspaket-Tool (TFX). Führen Sie npm install -g tfx-cli in einer Eingabeaufforderung aus.
Bildberechtigungen Stellen Sie sicher, dass Sie über die richtigen Berechtigungen verfügen, um Bilder wie Symbole, Logos, Screenshots usw. zu verwenden.
Marketplace-Übersicht Fügen Sie eine gründliche overview.md Datei hinzu, um Ihren Eintrag auf dem Marketplace zu beschreiben.
Erweiterungssymbol Fügen Sie ein Symbol für Ihre Erweiterung hinzu, das Ihre Integration, Ihr Unternehmen oder Ihre Organisation darstellt, mindestens 128 x 128 Pixel (PNG oder JPEG).
Microsoft-Produktnamen Verwenden Sie vollständige Namen für Microsoft-Produkte (z. B. Azure DevOps anstelle von AzDO oder andere Abkürzungen).
Markennamen Verwenden Sie keine Markennamen im Namen Ihrer Erweiterung.

Außerdem benötigen Sie die folgenden Ressourcen:

  • Mindestens ein Screenshot Ihrer Integration
  • Eine Handlungsaufforderungs- oder Starte-jetzt-URL für Benutzer

Erstellen eines Herausgebers

Jede Erweiterung oder Integration, einschließlich derjenigen von Microsoft, muss über einen Herausgeber verfügen. Jeder kann einen Verlag gründen und Erweiterungen veröffentlichen. Sie können auch den Herausgeberzugriff für andere Benutzer freigeben, z. B. Ihr Entwicklungsteam.

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

  2. Wenn Sie nicht Mitglied eines bestehenden Herausgebers sind, wählen Sie + Herausgeber erstellen.
    Geben Sie einen Herausgebernamen ein; Das FELD "ID" wird basierend auf Ihrem Eintrag automatisch ausgefüllt.

    Screenshot der hervorgehobenen Schaltfläche

    Hinweis

    • Stellen Sie sicher, dass der Herausgebername innerhalb von 16 Zeichen für Multibyte-Zeichen liegt.
    • Speichern Sie die Herausgeber-ID– Sie benötigen sie in der Manifestdatei Ihrer Erweiterung.

    Wenn Sie nicht aufgefordert werden, einen Herausgeber zu erstellen, scrollen Sie zu "Erweiterungen veröffentlichen " unter "Verwandte Websites".

    • Legen Sie einen eindeutigen Herausgeberbezeichner fest, wie zum Beispiel mycompany-myteam. Verwenden Sie diesen Wert für das publisher Attribut in Ihrem Manifest.
    • Legen Sie einen Anzeigenamen fest, wie z. B. My Team.
  3. Überprüfen Sie die Marketplace-Herausgebervereinbarung, und wählen Sie dann "Erstellen" aus.

    Herausgeber für Erweiterung erstellen

Nachdem Sie den Herausgeber erstellt haben, können Sie Elemente verwalten, obwohl Elemente erst erscheinen, nachdem Sie veröffentlicht haben.

Einrichten der Projektstruktur

Erstellen Sie das folgende Verzeichnislayout:

home/
├── images/
│   ├── integration-logo.png    (128×128 px minimum)
│   └── screenshot.png          (1366×768 px)
├── overview.md
└── vss-integration.json
Datei Purpose
overview.md GitHub Flavored Markdown-Beschreibung Ihrer Integration.
vss-integration.json Marketplace Manifest. Siehe Erweiterungsmanifest-Referenz.

Erstellen des Manifests

Erstellen Sie vss-integration.json mit dem folgenden Inhalt und aktualisieren Sie anschließend die Werte für Ihre Integration.

{
    "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 Felder mithilfe der folgenden Verweise:

Die folgenden Eigenschaften sind erforderlich:

Eigentum BESCHREIBUNG Hinweise
manifestVersion Eine Zahl, die der Version des Manifestformats entspricht. Sollte 1 sein.
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".
Verlag 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 die Azure DevOps Extension Tasks-Erweiterung zum Veröffentlichen verwenden, stellen Sie sicher, dass die Version >= 1.2.8 ist>. Möglicherweise müssen Sie das Erweiterungsupdate aufgrund der letzten Bereichsänderungen genehmigen.
    – Die oben genannten Kategorien sind nativ in Visual Studio Marketplace und Azure DevOps Server 2019 & vorhanden.
Ziele 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 arbeiten),
    - Microsoft.TeamFoundation.Server (Erweiterung, die mit Azure DevOps Server funktioniert),
    - Microsoft.VisualStudio.Services.Integration,
    - Microsoft.TeamFoundation.Server.Integration (Integrationen, die mit Azure DevOps Server arbeiten)

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

Eigentum BESCHREIBUNG Hinweise
Beschreibung Einige Sätze, die die Erweiterungen beschreiben. Auf 200 Zeichen beschränkt. Die Beschreibung sollte eine kurze Präsentation Ihrer Erweiterung sein – ein paar Zeilen, um Ihre Erweiterung auf dem Marketplace zu beschreiben und Benutzer dazu zu bringen, sie zu installieren. Siehe das Beispiel unten
Ikonen 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 Ein Array von Text-Tags, damit Benutzer Ihre Erweiterung finden können. Beispiele: agile, , project managementtask timer, 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 jedes Elements ist der Pfad zur Datei in der Erweiterung.
Inhalt 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. Der path jedes Elements 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.
Kennzeichen Aneinanderreihung von Links zu externen Metadaten-Badges wie TravisCI, Appveyor und so weiter, von den genehmigten Badges-Seiten Gültige Schlüssel: href – Link, zu dem der Benutzer navigiert, wenn er das Badge auswählt. uri - Die absolute URL des anzuzeigenden Signalbilds. description – Beschreibung des Badges, die beim Hovern angezeigt wird.
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.

Warnung

Legen Sie public fest auf false oder lassen Sie es aus, bis Sie bereit für die öffentliche Sichtbarkeit sind.

Verpacken der Integration

  1. Installieren Sie das Pakettool, falls noch nicht geschehen:

    npm install -g tfx-cli
    
  2. Packen Sie Ihre Integration in eine VSIX-Datei:

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

    Tipp

    Verwenden Sie --rev-version, um die Patchversionsnummer automatisch zu erhöhen.

Veröffentlichen auf dem Marktplatz

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. Datei ziehen und ablegen oder darauf klicken, um nach der VSIX-Datei zu suchen, 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 die Erweiterung in der Liste der veröffentlichten Erweiterungen zeigt.

An diesem Punkt ist Ihre Erweiterung für keine Konten sichtbar. Um sie für andere sichtbar zu machen, müssen Sie die Erweiterung 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.

Integration teilen

Bevor Sie eine Integration in einer Azure DevOps-Organisation installieren können, müssen Sie sie für diese Organisation freigeben.

  1. Wählen Sie Ihre Integration aus der Liste der angezeigten Elemente aus.
  2. Wählen Sie Freigeben.
  3. Geben Sie den Organisationsnamen ein (z. B fabrikam-fiber-inc . für dev.azure.com/fabrikam-fiber-inc).

Aktualisieren der Integration

Führen Sie die folgenden Schritte aus, um eine bereits veröffentlichte Erweiterung zu aktualisieren:

Tipp

Aktualisieren Sie Ihre Erweiterung, anstatt sie zu entfernen und erneut hochzuladen. Es wird empfohlen, zwei Erweiterungen beizubehalten: publisher.extension, öffentlich im Marketplace für Kunden und publisher.extension-dev, privat, nur für Ihre Organisation für Entwicklung und Tests freigegeben. Sie benötigen keine zwei Kopien Des Quellcodes– verwalten Sie nur separate Manifestdateien für jede Erweiterung. Stellen Sie beim Verpacken die entsprechende Manifestdatei für das tfx-cli-Tool bereit. Weitere Informationen finden Sie unter TFX-Erweiterungsbefehle.

  1. Wählen Sie Ihre Erweiterung aus der Liste der angezeigten Elemente aus.
  2. Klicken Sie mit der rechten Maustaste, und wählen Sie "Aktualisieren" für die Entwicklungsversion aus, wie publisher.extension-dev.
  3. Überprüfen Sie Ihre Erweiterung.
  4. Wenden Sie dieselben Updates auf die Produktionsversion an, wie publisher.extension.
  5. Navigieren Sie zur VSIX-Datei für Ihre Erweiterung, und laden Sie sie hoch.

Azure DevOps installiert automatisch die aktualisierte Version für alle Konten, die bereits über die Erweiterung verfügen. Neue Installationen erhalten auch die neueste Version.

Mach die Integration öffentlich

Um Ihre Integration für alle Marketplace-Benutzer sichtbar zu machen, legen Sie die Kennzeichnung in Ihrem Manifest fest und veröffentlichen Sie sie erneut.

Weitere Informationen zu den für öffentliche Einträgen erforderlichen Qualifikationen finden Sie unter "Veröffentlichen Ihrer Erweiterung".