Opracowywanie rozszerzenia internetowego
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Użyj rozszerzeń, aby ulepszyć usługę Azure DevOps przy użyciu nowych środowisk internetowych, widżetów pulpitu nawigacyjnego, zadań kompilacji i innych elementów. Rozszerzenia można opracowywać przy użyciu standardowych technologii, takich jak HTML, JavaScript i CSS. Ten samouczek przeprowadzi Cię przez proces tworzenia rozszerzenia internetowego dla usługi Azure DevOps.
Napiwek
Zapoznaj się z przykładami rozszerzeń i najnowszą dokumentacją dotyczącą programowania rozszerzeń przy użyciu zestawu SDK rozszerzenia usługi Azure DevOps.
Wymagania wstępne
Musisz mieć następujące uprawnienia i instalacje.
- Musisz być właścicielem organizacji. Jeśli nie masz organizacji, możesz bezpłatnie utworzyć organizację.
- Zainstalowanie środowiska Node.js.
- Zainstaluj narzędzie do tworzenia pakietów rozszerzeń (TFX). Uruchom polecenie
npm install -g tfx-cli
z poziomu wiersza polecenia, którego użyjesz do późniejszego spakowania rozszerzenia .
Tworzenie katalogu i manifestu
Rozszerzenie składa się z zestawu plików, który zawiera wymagany plik manifestu. Należy spakować go do pliku vsix i opublikować w witrynie Visual Studio Marketplace.
Utwórz katalog do przechowywania plików wymaganych dla rozszerzenia:
mkdir my-first-extension
Z tego katalogu zainicjuj nowy manifest pakietu npm:
npm init -y
W tym pliku opisano biblioteki wymagane przez rozszerzenie.
Zainstaluj pakiet zestawu SDK rozszerzenia sieci Web usługi Microsoft VSS i zapisz go w manifeście pakietu npm:
npm install azure-devops-extension-sdk --save
Ten zestaw SDK zawiera bibliotekę języka JavaScript, która udostępnia interfejsy API wymagane do komunikowania się ze stroną, w którą jest osadzone rozszerzenie.
Utwórz plik manifestu rozszerzenia o nazwie
vss-extension.json
w katalogu głównym katalogu rozszerzeń o następującej zawartości:{ "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/azure-devops-extension-sdk", "addressable": true, "packagePath": "lib" } ] }
Uwaga
Właściwość
public
określa, czy rozszerzenie jest widoczne dla wszystkich użytkowników w witrynie Visual Studio Marketplace. Zachowaj prywatne rozszerzenia podczas programowania.Utwórz plik o nazwie
my-hub.html
w katalogu głównym katalogu rozszerzeń z następującą zawartością, która jest dla widoku (znanego również jako centrum) przyczyniła się do środowiska internetowego.<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <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) { if (typeof SDK !== 'undefined') { console.log("SDK is defined. Trying to initialize..."); SDK.init(); SDK.ready().then(() => { console.log("SDK is ready"); document.getElementById("name").innerText = SDK.getUser().displayName; }); } else { console.log('SDK is not defined'); } }); </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> </head> <body> <h1>Hello, <span id="name"></span></h1> </body> </html>
Katalog rozszerzeń powinien wyglądać podobnie do poniższego przykładu.
|-- my-hub.html |-- node_modules |-- @types |-- azure-devops-extension-sdk |-- package.json |-- vss-extension.json