Entwickeln einer Weberweiterung
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018
Verwenden Sie Erweiterungen, um Azure DevOps mit neuen Weboberflächen, Dashboard-Widgets, Buildaufgaben und mehr zu verbessern. Sie können Erweiterungen mithilfe von Standardtechnologien wie HTML, JavaScript und CSS entwickeln. Dieses Lernprogramm führt Sie durch das Erstellen einer Weberweiterung für Azure DevOps.
Tipp
Erkunden Sie die Erweiterungsbeispiele und die neueste Dokumentation zur Erweiterungsentwicklung mithilfe des Azure DevOps Extension SDK.
Voraussetzungen
Sie müssen über die folgenden Berechtigungen und Installationen verfügen.
- Sie müssen ein Organisationsbesitzer sein. Wenn Sie keine Organisation haben, können Sie eine Organisation kostenlos erstellen.
- Installieren Sie Node.js.
- Installieren Sie das Erweiterungspakettool (TFX). Führen Sie
npm install -g tfx-cli
eine Eingabeaufforderung aus, mit der Sie Ihre Erweiterung später verpacken können.
Erstellen eines Verzeichnisses und Manifests
Eine Erweiterung besteht aus einer Reihe von Dateien, die eine erforderliche Manifestdatei enthalten. Sie packen es in eine VSIX-Datei und veröffentlichen sie im Visual Studio Marketplace.
Erstellen Sie ein Verzeichnis, um die für Ihre Erweiterung erforderlichen Dateien zu halten:
mkdir my-first-extension
Initialisieren Sie in diesem Verzeichnis ein neues npm-Paketmanifest:
npm init -y
Diese Datei beschreibt die von Ihrer Erweiterung erforderlichen Bibliotheken.
Installieren Sie das Microsoft VSS Web Extension SDK-Paket und speichern Sie sie in Ihrem npm-Paketmanifest:
npm install vss-web-extension-sdk --save
Dieses SDK enthält eine JavaScript-Bibliothek, die APIs bereitstellt, die für die Kommunikation mit der Seite erforderlich sind, in die Ihre Erweiterung eingebettet ist.
Erstellen Sie eine Erweiterungsmanifestdatei mit dem Namen
vss-extension.json
"Stamm" Ihres Erweiterungsverzeichniss mit den folgenden Inhalten:{ "manifestVersion": 1, "id": "my-first-extension", "publisher": "", "version": "1.0.0", "name": "My First Extension", "description": "A sample Visual Studio Services extension", "public": false, "categories": ["Azure Repos"], "targets": [ { "id": "Microsoft.VisualStudio.Services" } ], "contributions": [ { "id": "my-hub", "type": "ms.vss-web.hub", "targets": [ "ms.vss-code-web.code-hub-group" ], "properties": { "name": "My Hub", "uri": "my-hub.html" } } ], "files": [ { "path": "my-hub.html", "addressable": true }, { "path": "node_modules/vss-web-extension-sdk/lib", "addressable": true, "packagePath": "lib" } ] }
Hinweis
Die
public
Eigenschaft steuert, ob die Erweiterung für jeden auf dem Visual Studio Marketplace sichtbar ist. Behalten Sie Ihre Erweiterungen während der Entwicklung privat.Erstellen Sie eine Datei mit
my-hub.html
dem Namen "Stamm" Ihres Erweiterungsverzeichniss mit dem folgenden Inhalt, der für die Ansicht (auch als Hub bezeichnet) zur Weberfahrung beigetragen hat.<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script src="lib/VSS.SDK.min.js"></script> <style> body { background-color: rgb(0, 67, 117); color: white; margin: 10px; font-family: "Segoe UI VSS (Regular)","-apple-system",BlinkMacSystemFont,"Segoe UI",sans-serif; } </style> <script type="text/javascript"> VSS.init(); VSS.ready(function() { document.getElementById("name").innerText = VSS.getWebContext().user.name; }); </script> </head> <body> <h1>Hello, <span id="name"></span></h1> </body> </html>
Ihr Erweiterungsverzeichnis sollte wie das folgende Beispiel aussehen.
|-- my-hub.html |-- node_modules |-- @types |-- vss-web-extension-sdk |-- package.json |-- vss-extension.json