Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure DevOps Services
En este artículo, crearemos un nuevo centro que se muestra en Azure Boards después de Sprints y Queries.
Estructura de una extensión
|--- 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
Obtenga el SDK de cliente: SDK.js
El script principal del SDK, SDK.js, permite que las extensiones web se comuniquen con el host, Azure DevOps Services, frame. Este script también inicializa, notifica que la extensión se cargó o obtiene contexto sobre la página actual. Obtenga el archivo del SDK del cliente y agréguelo SDK.js a la aplicación web.
Colóquelo en la home/sdk/scripts carpeta .
Use el comando "npm install" mediante la línea de comandos (requiere Node) para recuperar el SDK:
npm install azure-devops-extension-sdk
Nota:
Para más información, consulte SDK de extensión web de Azure DevOps.
La página principal: hello-world.html
- Cada centro muestra una página web
- Consulte los grupos de concentradores de destino en la referencia de puntos de extensión.
Cree un hello-world.html archivo en el directorio home de su extensión.
Haga referencia al SDK y llame a init() y 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>
Archivo de manifiesto de la extensión: vss-extension.json
- Cada extensión debe tener un archivo de manifiesto de extensión
- Leer la referencia del manifiesto de extensión
- Obtenga más información sobre los puntos de contribución en puntos de extensibilidad.
Cree un archivo JSON (vss-extension.jsonpor ejemplo) en el home directorio con el siguiente contenido:
{
"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
}
]
}
Nota:
Cambie el publicador por el nombre del publicador. Para crear un publicador, consulte Empaquetar, publicar e instalar.
Iconos
La sección de iconos especifica la ruta de acceso al icono de tu extensión en el manifiesto.
Agregue una imagen cuadrada titulada logo.png, como se muestra en el manifiesto de extensión.
Contribuciones
La sección de contribuciones agrega su contribución - el Hello hub - al manifiesto de extensión.
Para cada contribución en tu extensión, el manifiesto define lo siguiente:
- tipo de contribución, concentrador
- destino de contribución, el grupo de trabajo del centro (consulte todos los grupos de centros de destino,
- las propiedades específicas de cada tipo de contribución. Un centro tiene las siguientes propiedades.
| Propiedad | Descripción |
|---|---|
| nombre | Nombre del centro. |
| orden | Colocación del hub en el grupo de hubs. |
| uri | Ruta de acceso (relativa al URI base de extensión) de la página que se va a exponer como centro. |
Ámbitos
Incluya los ámbitos que requiere la extensión.
En este caso, es necesario vso.work acceder a los elementos de trabajo.
Archivos
La estrofa de archivos indica los archivos que quiere incluir en el paquete: la página HTML, los scripts, el script del SDK y el logotipo.
Establézcalo addressable en a true menos que incluya otros archivos que no necesiten ser direccionables por url.
Nota:
Para obtener más información sobre el archivo de manifiesto de extensión, como sus propiedades y funciones, consulte la referencia del manifiesto de extensión.