Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Serviços do Azure DevOps
Neste artigo, criaremos um novo hub que será exibido no Azure Boards após os hubs Sprints e Queries.
Estrutura de uma extensão
|--- README.md
|--- sdk
|--- node_modules
|--- scripts
|--- SDK.js
|--- images
|--- icon.png
|--- scripts // not used in this tutorial
|--- hello-world.html // html page to be used for your hub
|--- vss-extension.json // extension's manifest
Obtenha o SDK do cliente: SDK.js
O script principal do SDK, SDK.js, habilita as extensões da Web a se comunicarem com o host, Azure DevOps Services, quadro. Esse script também inicializa, notifica que a extensão foi carregada ou obtém o contexto sobre a página atual. Obtenha o arquivo SDK SDK.js do cliente e adicione-o ao seu aplicativo Web.
Coloque-o na home/sdk/scripts pasta.
Use o comando 'npm install' por meio da linha de comando (requer Node) para recuperar o SDK:
npm install azure-devops-extension-sdk
Observação
Para obter mais informações, consulte o SDK da Extensão Web do Azure DevOps.
Sua página do hub: hello-world.html
- Cada hub exibe uma página da Web
- Confira os grupos de hubs alvo na referência de pontos de extensão
Crie um hello-world.html arquivo no home diretório da extensão.
Faça referência ao SDK e chame init() e notifyLoadSucceeded().
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Hello World</title>
<script src="sdk/scripts/SDK.js"></script>
</head>
<body>
<script type="text/javascript">SDK.init();</script>
<h1>Hello World</h1>
<script type="text/javascript">SDK.notifyLoadSucceeded();</script>
</body>
</html>
O arquivo de manifesto de sua extensão: vss-extension.json
- Cada extensão deve ter um arquivo de manifesto de extensão
- Ler a Referência do manifesto da extensão
- Saiba mais sobre os pontos de contribuição em pontos de extensibilidade
Crie um arquivo json (vss-extension.jsonpor exemplo) no home diretório com o seguinte conteúdo:
{
"manifestVersion": 1,
"id": "sample-extension",
"version": "0.1.0",
"name": "My first sample extension",
"description": "A sample Visual Studio Services extension.",
"publisher": "fabrikamdev",
"categories": ["Azure Boards"],
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
],
"icons": {
"default": "images/logo.png"
},
"contributions": [
{
"id": "Fabrikam.HelloWorld",
"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": "sdk/scripts", "addressable": true
},
{
"path": "images/logo.png", "addressable": true
}
]
}
Observação
Altere o publicador para o nome do publicador. Para criar um publicador, consulte Pacote, publicar e instalar.
Ícones
A estrofe de ícones especifica o caminho para o ícone da extensão em seu manifesto.
Adicione uma imagem quadrada intitulada logo.png, conforme mostrado no manifesto da extensão.
Contribuições
A seção de contribuições adiciona sua contribuição - o hub Hello - ao manifesto da extensão.
Para cada contribuição em sua extensão, o manifesto define o seguinte:
- tipo de contribuição, hub
- meta de contribuição, o grupo do hub de trabalho (confira todos os grupos de hubs que podem ser direcionados,
- as propriedades específicas de cada tipo de contribuição. Um hub tem as seguintes propriedades.
| Propriedade | Descrição |
|---|---|
| nome | Nome do hub. |
| ordem | Posicionamento do hub no grupo de hubs. |
| uri | Caminho (relativo ao URI de base da extensão) da página a ser exibida como o hub. |
Escopos
Inclua os escopos que sua extensão requer.
Nesse caso, precisamos vso.work para acessar itens de trabalho.
Arquivos
A estrofe de arquivos indica os arquivos que você deseja incluir em seu pacote - sua página HTML, seus scripts, o script SDK e seu logotipo.
Defina addressable como true a menos que você inclua outros arquivos que não precisam ser passíveis de endereçamento por URL.
Observação
Para obter mais informações sobre o arquivo de manifesto de extensão, como propriedades e funções, confira a referência do manifesto de extensão.