Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Serviços de DevOps do Azure | Azure DevOps Server | Azure DevOps Server 2022
Use extensões para aprimorar o Azure DevOps com novas experiências Web, widgets de painel, tarefas de compilação e muito mais. Você pode desenvolver extensões usando tecnologias padrão como HTML, JavaScript e CSS. Este tutorial orienta você na criação de uma extensão da Web para o Azure DevOps.
Dica
Explore os exemplos de extensão e a documentação mais recente sobre desenvolvimento de extensões usando o SDK de Extensão de DevOps do Azure.
Pré-requisitos
| Categoria | Requerimentos |
|---|---|
| Permissões | Dono da organização. |
| Ferramentas |
-
Node.js - Ferramenta de empacotamento de extensão: execute npm install -g tfx-cli a partir de um prompt de comando, que utilizará para empacotar a sua extensão posteriormente. |
Criar um diretório e manifesto
Uma extensão é composta por um conjunto de arquivos que inclui um arquivo de manifesto necessário. Você empacota-o em um arquivo .vsix e publicas no Visual Studio Marketplace.
Crie um diretório para armazenar os arquivos necessários para sua extensão:
mkdir my-first-extensionInicialize um novo manifesto do pacote npm a partir deste diretório:
npm init -yEste arquivo descreve as bibliotecas exigidas pela sua extensão.
Instale o pacote SDK da Extensão de DevOps do Azure e salve-o no manifesto do pacote npm:
npm install azure-devops-extension-sdk --save
Este SDK inclui uma biblioteca JavaScript que fornece APIs necessárias para se comunicar com a página na qual sua extensão está incorporada.
Crie um arquivo de manifesto de extensão chamado
vss-extension.jsonna raiz do diretório de extensão com o seguinte conteúdo:{ "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" } ] }Importante
A propriedade
publiccontrola se a extensão é visível para todos no Visual Studio Marketplace. Mantenha suas extensões privadas durante o desenvolvimento.Crie um ficheiro chamado
my-hub.htmlna raiz do diretório de extensão com o seguinte conteúdo, que é para a exibição (também conhecida como hub) contribuída para a experiência web.<!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>Seu diretório de extensão deve se parecer com o exemplo a seguir.
|-- my-hub.html |-- node_modules |-- @types |-- azure-devops-extension-sdk |-- package.json |-- vss-extension.jsonPrecisa de ajuda? Poste perguntas no Azure DevOps Services Developer Community.