Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure DevOps Services
Tipp
Für die neuesten Anleitungen zur Erweiterungsentwicklung, einschließlich Themengestaltung und Migration von VSS.SDK, besuchen Sie das Entwicklerportal des Azure DevOps Extension SDK.
In diesem Artikel erstellen Sie einen Hub, der in Azure Boards nach den Sprints und Abfragen-Hubs angezeigt wird.
Voraussetzungen
- Node.js
- Tool zum Packen von Erweiterungen: ausführen
npm install -g tfx-cli
Erstellen der Erweiterungsstruktur
Erstellen Sie ein Verzeichnis für Ihre Erweiterung, und initialisieren Sie es:
mkdir my-hub-extension cd my-hub-extension npm init -y npm install azure-devops-extension-sdk --saveIhr Verzeichnis sollte wie folgt aussehen:
|--- my-hub-extension |--- node_modules |--- azure-devops-extension-sdk |--- images |--- icon.png |--- hello-world.html |--- package.json |--- vss-extension.json
Erstellen der Hubseite
Erstellen Sie hello-world.html im Stammverzeichnis Ihres Erweiterungsverzeichnisses. Diese Seite lädt das SDK, initialisiert es und zeigt den Namen des aktuellen Benutzers an.
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Hello World</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js"></script>
<script>
window.requirejs.config({
enforceDefine: true,
paths: {
'SDK': './lib/SDK.min'
}
});
window.requirejs(['SDK'], function (SDK) {
SDK.init();
SDK.ready().then(() => {
document.getElementById("name").innerText = SDK.getUser().displayName;
});
});
</script>
</head>
<body>
<h1>Hello, <span id="name"></span></h1>
</body>
</html>
Die vollständige Liste der Hubgruppen, auf die Sie abzielen können, finden Sie in der Referenz zu Erweiterbarkeitspunkten.
Erstellen des Erweiterungsmanifests
Erstellen Sie vss-extension.json im Stammverzeichnis Ihres Erweiterungsverzeichnisses:
{
"manifestVersion": 1,
"id": "sample-extension",
"version": "0.1.0",
"name": "My first sample extension",
"description": "A sample Azure DevOps extension.",
"publisher": "fabrikamdev",
"public": false,
"categories": ["Azure Boards"],
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
],
"icons": {
"default": "images/icon.png"
},
"contributions": [
{
"id": "hello-world-hub",
"type": "ms.vss-web.hub",
"description": "Adds a 'Hello' hub to the Work hub group.",
"targets": [
"ms.vss-work-web.work-hub-group"
],
"properties": {
"name": "Hello",
"order": 99,
"uri": "hello-world.html"
}
}
],
"scopes": [
"vso.work"
],
"files": [
{
"path": "hello-world.html", "addressable": true
},
{
"path": "node_modules/azure-devops-extension-sdk",
"addressable": true,
"packagePath": "lib"
},
{
"path": "images/icon.png", "addressable": true
}
]
}
Von Bedeutung
Ändern Sie den Verlag zu Ihrem Verlagsnamen. Um einen Herausgeber zu erstellen, siehe Paketieren, Veröffentlichen und Installieren. Halten Sie public während der Entwicklung auf false eingestellt.
Wichtige Manifest-Eigenschaften
| Eigentum | BESCHREIBUNG |
|---|---|
| Beiträge | Deklariert den Hub. Dies type ist ms.vss-web.hub, und targets gibt an, welcher Hubgruppe sie hinzugefügt werden soll. Weitere Informationen finden Sie unter Erweiterbarkeitspunkte für alle zielfähigen Hubgruppen. |
| contributions.properties.name | Anzeigename des Hubs. |
| contributions.properties.order | Position des Hubs innerhalb der Hubgruppe. |
| contributions.properties.uri | Pfad (relativ zum Erweiterungsbasis-URI) der Seite, die als Hub angezeigt werden soll. |
| Bereiche | Berechtigungen, die für die Erweiterung erforderlich sind.
vso.work gewährt Lesezugriff auf Arbeitsaufgaben. Siehe Scopes. |
| Dateien | Dateien, die in das Paket eingeschlossen werden sollen. Legen Sie addressable: true für Dateien fest, die eine URL benötigen. |
Weitere Informationen zum Manifest finden Sie unter Erweiterungsmanifestreferenz.
Hinzufügen einer benutzerdefinierten Hubgruppe
Anstatt einer integrierten Hubgruppe, z. B. "Arbeit" oder "Code", einen Hub hinzuzufügen, erstellen Sie ihre eigene Hubgruppe, und fügen Sie ihr Hubs hinzu. Fügen Sie sowohl einen ms.vss-web.hub-group Beitrag als auch einen ms.vss-web.hub Beitrag hinzu, der darauf abzielt:
"contributions": [
{
"id": "sample-hub-group",
"type": "ms.vss-web.hub-group",
"description": "Adds a 'Samples' hub group at the project level.",
"targets": [
"ms.vss-web.project-hub-groups-collection"
],
"properties": {
"name": "Samples",
"order": 100
}
},
{
"id": "hello-hub",
"type": "ms.vss-web.hub",
"description": "Adds a 'Hello' hub to the Samples hub group.",
"targets": [
".sample-hub-group"
],
"properties": {
"name": "Hello",
"order": 99,
"uri": "hello-world.html"
}
}
]
Wichtige Unterschiede beim Hinzufügen eines Hubs zu einer integrierten Gruppe:
- Die Ziele für den Beitrag der
ms.vss-web.project-hub-groups-collectionHubgruppe auf Projektebene oderms.vss-web.collection-hub-groups-collectionauf Organisationsebene. - Das Array des Hubs
targetsverwendet eine relative Referenz (.sample-hub-group), um auf die in derselben Erweiterung definierte Hubgruppe zu verweisen. - Die Eigenschaft
orderder Hubgruppe steuert, wo die Gruppe in der Navigation erscheint.