Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
È possibile ospitare qualsiasi pagina Web compatibile con iframe come scheda nelle pagine dei risultati della query di Azure DevOps. Questo articolo illustra come aggiungere una semplice scheda Hello World.
Suggerimento
Per le linee guida più recenti per lo sviluppo di estensioni, incluse la tematizzazione e la migrazione da VSS.SDK, vedere il portale per sviluppatori di Azure DevOps Extension SDK.
Creare la pagina Web
Installare il pacchetto azure-devops-extension-sdk e inserire il
SDK.jsfile inhome/sdk/scripts.npm install azure-devops-extension-sdkCreare la pagina Web da visualizzare. Nell'esempio seguente viene aggiunta una pagina semplice
hello-world.htmlallahomedirectory .Nella pagina HTML fare riferimento all'SDK e chiamare
SDK.init()seguito daSDK.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>
Aggiornare il manifesto dell'estensione
Aggiorna il file manifesto dell'estensione con il codice seguente:
...
"contributions": [
{
"id": "Fabrikam.HelloTab.Query.Tabs",
"type": "ms.vss-web.tab",
"description": "Adds a 'Hello' tab to the query results",
"targets": [
"ms.vss-work-web.query-tabs"
],
"properties": {
"uri": "hello-query-tab.html",
"title": "Hello",
"name": "Hello"
}
}
],
"scopes": [
"vso.work"
],
"files": [
{
"path": "hello-query-tab.html", "addressable": true
},
{
"path": "scripts", "addressable": true
},
{
"path": "sdk/scripts", "addressable": true
},
{
"path": "images/logo.png", "addressable": true
}
]
...
Contributi
Ogni contributo definisce una type (scheda), una target (schede di query) e un properties specifico per tipo. Per una scheda, impostare name e title sul testo visualizzato e uri sul percorso della pagina rispetto all'URI di base dell'estensione.
Ambiti
La sezione ambiti dichiara le autorizzazioni necessarie per l'estensione. Nell'esempio seguente viene vso.work usato per accedere agli elementi di lavoro.
File
La sezione files elenca ogni file necessario per l'estensione in fase di esecuzione. Impostare addressable su true per i file che devono essere indirizzabili tramite URL.
Esempio
SDK.register(SDK.getContributionId(), {
pageTitle: function(state) {
return "Hello";
},
updateContext: function(tabContext) {
},
isInvisible: function(state) {
return false;
},
isDisabled: function(state) {
return false;
}
});
Per tutti i punti di contributo disponibili, vedere Punti di estendibilità.