Informazioni di riferimento sul manifesto dell'estensione
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Ogni estensione ha un file manifesto JSON che definisce le informazioni di base sull'estensione. Il file definisce anche come può estendere e migliorare l'esperienza. Questo articolo illustra come creare un manifesto per l'estensione in Azure DevOps.
Suggerimento
Vedere la documentazione più recente sullo sviluppo di estensioni con Azure DevOps Extension SDK.
Creare un file denominato vss-extension.json
nella radice della cartella dell'estensione. Questo file contiene attributi obbligatori, ad esempio l'ID dell'estensione e le destinazioni di installazione, in cui può essere eseguito. Definisce anche i contributi effettuati dall'estensione.
Vedere l'esempio seguente di un manifesto tipico:
{
"manifestVersion": 1,
"id": "tools",
"version": "0.1.0",
"name": "Fabrikam Tools",
"publisher": "fabrikam",
"description": "Awesome tools to help you and your team do great things everyday.",
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
],
"icons": {
"default": "images/fabrikam-logo.png"
},
"scopes": [
"vso.work",
"vso.code_write",
"vso.build_execute"
],
"categories": [
"Azure Boards"
],
"branding": {
"color": "rgb(34, 34, 34)",
"theme": "dark"
},
"content": {
"details": {
"path": "readme.md"
},
"license": {
"path": "eula.md"
}
},
"links": {
"getstarted": {
"uri": "https://www.fabrikam-fiber-inc.com/help/getstarted"
},
"support": {
"uri": "https://www.fabrikam-fiber-inc.com/support"
}
},
"repository": {
"type": "git",
"uri": "https://github.com/fabrikam-fiber-inc/myextension"
},
"contributions": [
{
"id": "showCommits",
"type": "ms.vss-web.action",
"description": "Adds a menu action from builds grid to show associated items.",
"targets": [
"ms.vss-build-web.completed-build-menu"
],
"properties": {
"title": "View associated items",
"uri": "launch.html"
}
}
],
"files": [
{
"path": "launch.html",
"addressable": true
},
{
"path": "node_modules/vss-web-extension-sdk/lib",
"addressable": true,
"packagePath": "lib"
}
]
}
Per informazioni sugli input, vedere ...
Attributi obbligatori
Queste proprietà sono obbligatorie:
Proprietà | Descrizione | Note |
---|---|---|
manifestVersion | Numero corrispondente alla versione del formato manifesto. | deve essere 1 . |
ID | Identificatore dell'estensione. | L'ID è una stringa che deve essere univoca tra le estensioni dello stesso editore. Deve iniziare con un carattere alfabetico o numerico e contenere 'A' fino a 'Z', 'a' da 'z', '0' a '9' e '-' (trattino). Esempio: sample-extension . |
version | Stringa che specifica la versione di un'estensione. | Deve essere nel formato major.minor.patch , ad esempio 0.1.2 o 1.0.0 . È anche possibile aggiungere un quarto numero per il formato seguente: 0.1.2.3 |
name | Nome breve e leggibile dell'estensione. Massimo 200 caratteri. | Esempio: "Fabrikam Agile Board Extension" . |
publisher | Identificatore del server di pubblicazione. | Questo identificatore deve corrispondere all'identificatore in cui viene pubblicata l'estensione. Vedere Creare e gestire un server di pubblicazione. |
Categorie | Matrice di stringhe che rappresentano le categorie a cui appartiene l'estensione. È necessario specificare almeno una categoria e non è previsto alcun limite al numero di categorie che è possibile includere. | Valori validi: Azure Repos , Azure Boards , Azure Pipelines Azure Test Plans , e Azure Artifacts .Note:
- Se si usa l'estensione Azure DevOps Extension Tasks per la pubblicazione, assicurarsi che la versione sia >= 1.2.8. Potrebbe essere necessario approvare l'aggiornamento dell'estensione a causa di modifiche recenti dell'ambito. - Le categorie indicate in precedenza sono presenti in modo nativo in Visual Studio Marketplace e Azure DevOps Server 2019 e versioni successive. Per le estensioni destinate a versioni precedenti di TFS:
- Se si intende condividere l'estensione direttamente (ovvero non tramite Visual Studio Marketplace) con un cliente che usa TFS <=2018, usare invece le categorie seguenti: Codice, Piano e traccia, Compilazione e rilascio, Test, Collaborazione e Integrazione. Se è necessario condividere sia tramite Visual Studio Marketplace che direttamente con un cliente TFS <= 2018, è necessario avere 2 pacchetti di estensione. |
destinazioni | Prodotti e servizi supportati dall'integrazione o dall'estensione. Per altre informazioni, vedere Destinazioni di installazione. | Matrice di oggetti, in cui ogni oggetto ha un id campo che indica uno dei seguenti:
Microsoft.VisualStudio.Services (estensioni che funzionano con Azure DevOps o TFS),Microsoft.TeamFoundation.Server - (estensione che funziona con TFS),- Microsoft.VisualStudio.Services.Integration (integrazioni che funzionano con Azure DevOps o TFS), - Microsoft.TeamFoundation.Server.Integration (integrazioni che funzionano con TFS) |
Esempi di attributi obbligatori
{
"manifestVersion": 1,
"id": "tools",
"version": "0.1.0",
"name": "Fabrikam Tools",
"publisher": "fabrikam",
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
]
}
Attributi facoltativi
Attributi di runtime
Proprietà | Descrizione | Note |
---|---|---|
Ambiti | Matrice di ambiti di autorizzazione (stringhe) che elencano le autorizzazioni richieste dall'estensione. | Ad esempio, vso.work e vs.code_write indica che l'estensione richiede l'accesso in sola lettura agli elementi di lavoro e l'accesso in lettura/scrittura al codice sorgente (e alla risorsa correlata). Gli ambiti vengono presentati all'utente durante l'installazione dell'estensione. Per altre informazioni, vedere l'elenco completo degli ambiti. |
Richieste | Matrice di richieste (stringhe) che elenca le funzionalità richieste dall'estensione. | Ad esempio, api-version/3.0 indica che l'estensione usa le API versione 3.0 e quindi non può essere eseguita in prodotti meno recenti che non supportano questa versione. Per altre informazioni, vedere l'elenco completo delle richieste. |
baseUri | (Facoltativo) URL di base per tutti gli URL relativi specificati dai contributi dell'estensione. | Ad esempio: https://myapp.com/{{account.name}}/ . Questa proprietà deve essere lasciata vuota se il contenuto dell'estensione è in pacchetto con l'estensione. |
Contributi | Matrice di contributi al sistema. | |
contributionTypes | Matrice di tipi di contributo definiti dall'estensione |
{
"scopes": [
"vso.work",
"vso.code_write",
"vso.build_execute"
],
"demands": [
"api-version/3.0"
],
"contributions": [
{
"id": "showCommits",
"type": "ms.vss-web.action",
"description": "Adds a menu action from builds grid to show associated items.",
"targets": [
"ms.vss-build-web.completed-build-menu"
],
"properties": {
"title": "View associated items",
"uri": "launch.html"
}
}
]
}
Attributi di individuazione
Queste proprietà facoltative consentono agli utenti di individuare e ottenere informazioni sull'estensione:
Proprietà | Descrizione | Note |
---|---|---|
description | Alcune frasi che descrivono le estensioni. Massimo 200 caratteri. | La descrizione deve essere la "presentazione dell'ascensore" dell'estensione: un paio di righe per descrivere l'estensione nel Marketplace e far sì che gli utenti vogliano installarla. Vedere l'esempio seguente |
Icone | Dizionario di icone che rappresentano l'estensione. | Chiavi valide: default (128x128 pixel) di tipo BMP, GIF, EXIF, JPG, PNG e TIFF. Altre chiavi, large ad esempio (512x512 pixel) potrebbero essere supportate in futuro. Il valore di ogni chiave è il percorso del file icona nell'estensione |
tag | Matrice di tag stringa per aiutare gli utenti a trovare l'estensione. | Esempi: agile , project management , task timer e così via. |
screenshot | Matrice di immagini che non possono essere incluse nel contenuto. | Gli screenshot sono più utili quando sono presenti nel contenuto e devono essere usati per creare una pagina dei dettagli di mercato di qualità per l'estensione. Usare screenshot per immagini meno importanti non presenti nel contenuto. Ogni immagine deve essere di 1366x768 pixel. L'oggetto path di ogni elemento è il percorso del file nell'estensione. |
content | Dizionario di file di contenuto che descrivono l'estensione per gli utenti. | Ogni estensione deve includere contenuto solido. Questo è il modo in cui si mostreranno agli utenti cosa può fare l'estensione. Renderlo ricco, utilizzabile e includere screenshot dove necessario. Includere un overview.md file come parte del contenuto di base. Si presuppone che ogni file sia in formato GitHub Flavored Markdown . L'oggetto path di ogni elemento è il percorso del file Markdown nell'estensione. Chiavi valide: details . Altre chiavi potrebbero essere supportate in futuro. |
collegamenti | Dizionario di collegamenti che consentono agli utenti di ottenere altre informazioni sull'estensione, ottenere supporto e spostare. | Chiavi valide: getstarted - primi passaggi, come configurare o usare. learn - Contenuto più approfondito per aiutare gli utenti a comprendere meglio l'estensione o il servizio. license - Contratto di licenza per l'utente finale. privacypolicy - Informativa sulla privacy per un'estensione. support : ottenere assistenza e supporto per un'estensione. Il valore di ogni chiave è un oggetto con un uri campo, ovvero l'URL assoluto del collegamento |
repository | Dizionario delle proprietà che descrivono il repository del codice sorgente per l'estensione | Chiavi valide: type - Tipo di repository. Esempio: git. uri - URL assoluto del repository. |
Distintivi | Matrice di collegamenti a badge di metadati esterni come TravisCI, Appveyor e così via, dai siti di badge approvati | Chiavi valide: href - Collegare l'utente a quando si seleziona il badge. uri - URL assoluto dell'immagine badge da visualizzare. description - Descrizione del badge da visualizzare al passaggio del mouse. |
Branding | Dizionario delle proprietà correlate al marchio. | Chiavi valide: color - colore principale dell'estensione o del server di pubblicazione; può essere un esadecimale (#ff00ff), RGB (rgb(100,200,50)) o nomi di colori HTML supportati (blu). theme - integra il colore; utilizzare scuro per colori di personalizzazione scuri o chiaro per colori di personalizzazione più chiari. |
Contrassegnare un'estensione pubblica
Per impostazione predefinita, tutte le estensioni in Azure DevOps Marketplace sono private. Sono visibili solo all'editore e agli account condivisi dall'editore. Se il server di pubblicazione è verificato, è possibile rendere pubblica l'estensione impostando il flag nel manifesto dell'estensione Public
:
{
"galleryFlags": [
"Public"
]
}
Oppure:
{
"public": true
}
Per altre informazioni, vedere Package/Publish/Install.For more information, see Package/Publish/Install.
Contrassegnare un'estensione da visualizzare in anteprima
Se l'estensione è pronta per gli utenti nel Marketplace per provare, ma si stanno ancora lavorando alcuni bug o aggiungendo una funzione, è possibile contrassegnarla come preview
:
{
"galleryFlags": [
"Preview"
]
}
Contrassegnare un'estensione come anteprima a pagamento
Se si intende vendere l'estensione nel Marketplace, contrassegnarla come anteprima a pagamento. Non è possibile modificare un'estensione contrassegnata come gratuita in pagamento.
{
"galleryFlags": [
"Paid",
"Preview"
]
}
Contrassegnare un'estensione come a pagamento
Se si vuole vendere l'estensione nel Marketplace, è possibile contrassegnarla con il flag e __BYOLENFORCED
il Paid
tag (inizia con due caratteri di sottolineatura):
{
"galleryFlags": [
"Paid"
],
"tags": [
"__BYOLENFORCED"
]
}
Sia il flag che __BYOLENFORCED
il Paid
tag devono essere presenti per contrassegnare un'estensione come a pagamento nel Marketplace. Bring-Your-Own-License (BYOL) indica che l'editore dell'estensione fornisce il meccanismo di fatturazione e licenza per l'estensione, perché non viene fornito dalle estensioni Microsoft per Azure DevOps. Tutte le estensioni a pagamento sono necessarie per definire l'informativa sulla privacy, i criteri di supporto e un contratto di licenza per l'utente finale. I server di pubblicazione devono fornire contenuto per la scheda prezzi in Marketplace come indicato di seguito:
{
"content": {
"details": {
"path": "overview.md"
},
"pricing": {
"path": "pricing.md"
}
}
}
È anche necessario aggiungere una nuova sezione nel manifesto dell'estensione per eseguire l'override delle licenze a pagamento. In futuro, rimuoviamo il controllo delle licenze a pagamento e non richiediamo più l'override. Per il momento, assicurarsi che l'estensione venga visualizzata come previsto. Ogni override è costituito da un "ID" e da un "comportamento". Rendere "ID" corrispondente all'ID dei contributi definiti nel manifesto.
"licensing": {
"overrides": [
{ "id": "my-hub", "behavior": " AlwaysInclude" }
]
}
Se l'estensione BYOL a pagamento offre un periodo di valutazione (è consigliabile), è possibile specificare la lunghezza della versione di valutazione in giorni:
{
"galleryproperties": {
"trialDays": "30"
}
}
Nota
Se si vuole usare Azure DevOps come destinazione, ma non si vuole visualizzare un'opzione Download per l'estensione, aggiungere il __DoNotDownload
tag (inizia con due caratteri di sottolineatura) al manifesto dell'estensione.
Se si sta spostando un'estensione dalla fatturazione e dalle licenze offerte in precedenza da Microsoft al modello BYOL, contattare Microsoft per i passaggi appropriati.
Esempio di altre proprietà
{
"description": "Awesome tools to help you and your team do great things everyday.",
"icons": {
"default": "images/fabrikam-logo.png"
},
"categories": [
"Plan and track"
],
"tags": [
"working",
"people person",
"search"
],
"content": {
"details": {
"path": "overview.md"
},
"license": {
"path": "license-terms.md"
}
},
"links": {
"home": {
"uri": "https://www.fabrikam-fiber-inc.com"
},
"getstarted": {
"uri": "https://www.fabrikam-fiber-inc.com/help/getstarted"
},
"learn": {
"uri": "https://www.fabrikam-fiber-inc.com/features"
},
"support": {
"uri": "https://www.fabrikam-fiber-inc.com/support"
},
"repository": {
"uri": "https://github.com/fabrikam-fiber-inc/tools"
},
"issues": {
"uri": "https://github.com/fabrikam-fiber-inc/tools/issues"
}
},
"repository": {
"type": "git",
"uri": "https://github.com/fabrikam-fiber-inc/tools"
},
"badges": [
{
"href": "https://travis.ci/fabrikam-fiber-inc/myextension",
"uri": "https://travis.ci/fabrikam-fiber-inc/myextension.svg?branch=master",
"description": "TravisCI build for the project"
},
{
"href": "https://ci.appveyor.com/projects/fabrikam-fiber-inc/myextension",
"uri": "https://ci.appveyor.com/api/projects/status/vlg2sgs2y7tsdxpj4c?svg=true",
"description": "AppVeyor build for the project"
}
],
"branding": {
"color": "rgb(34, 34, 34)",
"theme": "dark"
},
"screenshots": [
{
"path": "screenshots/screen1.png"
},
{
"path": "screenshots/screen2.png"
}
]
}
Esempio di pagina dei dettagli
- 1 - descrizione
- 2 - Icona
- 3 - Categorie
- 4 - Screenshot
- 5 - Contenuto (dettagli)
- 6 - Collegamenti
- 7 - Personalizzazione
Domande e risposte del Marketplace - Proprietà CustomerQnASupport
Tutte le estensioni in Visual Studio Marketplace hanno una sezione Domande e risposte (Q & A) per consentire conversazioni pubbliche uno-su-uno tra utenti di estensioni e editori. Gli editori possono scegliere tra domande e risposte del Marketplace (Q&A), problemi di GitHub o un URL di domande e risposte personalizzato. È possibile disabilitare domande e risposte nel Marketplace usando la proprietà CustomerQnASupport nel manifesto.
Esperienza predefinita (non sono necessarie modifiche al manifesto)
- Per le estensioni con un repository GitHub, Marketplace reindirizza gli utenti nella sezione domande e risposte ai problemi di GitHub associati.
- Per le estensioni senza un repository GitHub, marketplace Q&A è abilitato.
Per un'esperienza diversa rispetto a una delle opzioni predefinite, usare la proprietà CustomerQnASupport nel manifesto.
{
"CustomerQnASupport": {
"enablemarketplaceqna": true,
"url": "http://uservoice.visualstudio.com"
}
}
Proprietà
Proprietà per la sezione Customer Q & A Support :Properties for the Customer Q &A Support section:
- enablemarketplaceqna : campo booleano, impostato su
true
per marketplace o Q&A personalizzato; false per disabilitare Q&A - url - stringa, URL per domande e risposte personalizzate
Esempi che illustrano l'utilizzo del supporto Q & A
Esempio: Estensione con domande e risposte personalizzate
{
"CustomerQnASupport": {
"enablemarketplaceqna":"true",
"url": "http://uservoice.visualstudio.com"
}
}
Esempio: estensione con repository GitHub, ma uso di Domande e risposte del Marketplace anziché problemi di GitHub
{
"CustomerQnASupport": {
"enablemarketplaceqna":"true"
}
}
Esempio: estensione che disabilita la sezione Q & A
{
"CustomerQnASupport": {
"enablemarketplaceqna":"false"
}
}
Ambiti
Nell'estensione è possibile definire uno o più ambiti. Questi ambiti determinano le risorse a cui l'estensione può accedere e le operazioni consentite per l'esecuzione su tali risorse. Gli ambiti specificati nel manifesto dell'estensione sono gli ambiti impostati sui token di accesso rilasciati all'estensione. Per altre informazioni, vedere Autenticazione e sicurezza.
Se non vengono specificati ambiti, le estensioni vengono fornite solo l'accesso ai dati di estensione e del profilo utente.
Ambiti supportati
Categoria | Ambito | Nome | Descrizione | Eredita da |
---|---|---|---|---|
Sicurezza avanzata | vso.advsec |
AdvancedSecurity (lettura) | Concede la possibilità di leggere avvisi, istanze dei risultati, istanze dei risultati e istanze dei risultati dell'analisi. | |
vso.advsec_write |
AdvancedSecurity (lettura e scrittura) | Concede la possibilità di caricare analisi in sarif | vso.advsec |
|
vso.advsec_manage |
AdvancedSecurity (lettura, scrittura e gestione) | Concede la possibilità di caricare analisi in sarif | vso.advsec_write |
|
Pool di agenti | vso.agentpools |
Pool di agenti (lettura) | Concede la possibilità di visualizzare attività, pool, code, agenti e processi attualmente in esecuzione o completati di recente per gli agenti. | |
vso.agentpools_manage |
Pool di agenti (lettura, gestione) | Concede la possibilità di gestire pool, code e agenti. | vso.agentpools |
|
vso.environment_manage |
Ambiente (lettura, gestione) | Concede la possibilità di gestire pool, code, agenti e ambienti. | vso.agentpools_manage |
|
Analisi | vso.analytics |
Analisi (lettura) | Concede la possibilità di eseguire query sui dati di analisi. | |
Controllo | vso.auditlog |
Log di controllo (lettura) | Concede la possibilità di leggere il log di controllo agli utenti. | |
vso.auditstreams_manage |
Flussi di controllo (lettura) | Concede la possibilità di gestire i flussi di controllo agli utenti. | vso.auditlog |
|
Build | vso.build |
Compilazione (lettura) | Concede la possibilità di accedere agli artefatti di compilazione, inclusi i risultati di compilazione, le definizioni e le richieste e la possibilità di ricevere notifiche sugli eventi di compilazione tramite hook del servizio. | vso.hooks_write |
vso.build_execute |
Compilazione (lettura ed esecuzione) | Concede la possibilità di accedere agli artefatti di compilazione, inclusi i risultati di compilazione, le definizioni e le richieste e la possibilità di accodare una compilazione, aggiornare le proprietà di compilazione e la possibilità di ricevere notifiche sugli eventi di compilazione tramite hook del servizio. | vso.build |
|
Codice | vso.code |
Codice (lettura) | Concede la possibilità di leggere il codice sorgente e i metadati relativi a commit, insiemi di modifiche, rami e altri artefatti del controllo della versione. Concede inoltre la possibilità di cercare il codice e ricevere notifiche sugli eventi di controllo della versione tramite hook del servizio. | vso.hooks_write |
vso.code_write |
Codice (lettura e scrittura) | Concede la possibilità di leggere, aggiornare ed eliminare il codice sorgente, accedere ai metadati relativi a commit, insiemi di modifiche, rami e altri artefatti del controllo della versione. Concede inoltre la possibilità di creare e gestire richieste pull e revisioni del codice e di ricevere notifiche sugli eventi di controllo della versione tramite hook del servizio. | vso.code |
|
vso.code_manage |
Codice (lettura, scrittura e gestione) | Concede la possibilità di leggere, aggiornare ed eliminare il codice sorgente, accedere ai metadati relativi a commit, insiemi di modifiche, rami e altri artefatti del controllo della versione. Concede inoltre la possibilità di creare e gestire repository di codice, creare e gestire richieste pull e revisioni del codice e ricevere notifiche sugli eventi di controllo della versione tramite hook del servizio. | vso.code_write |
|
vso.code_full |
Codice (completo) | Concede l'accesso completo al codice sorgente, ai metadati relativi a commit, insiemi di modifiche, rami e altri artefatti del controllo della versione. Concede inoltre la possibilità di creare e gestire repository di codice, creare e gestire richieste pull e revisioni del codice e ricevere notifiche sugli eventi di controllo della versione tramite hook del servizio. Include anche il supporto limitato per le API OM client. | vso.code_manage |
|
vso.code_status |
Codice (stato) | Concede la possibilità di leggere e scrivere lo stato di commit e richiesta pull. | ||
Server connesso | vso.connected_server |
Server connesso | Concede la possibilità di accedere agli endpoint necessari da un server connesso locale. | |
Diritti | vso.entitlements |
Entitlement (lettura) | Fornisce l'accesso in sola lettura all'endpoint dei diritti di licenza per ottenere i diritti dell'account. | |
vso.memberentitlementmanagement |
Gestione MemberEntitlement (lettura) | Concede la possibilità di leggere gli utenti, le licenze e i progetti e le estensioni a cui possono accedere. | ||
vso.memberentitlementmanagement_write |
Gestione MemberEntitlement (scrittura) | Concede la possibilità di gestire gli utenti, le licenze e i progetti e le estensioni a cui possono accedere. | vso.memberentitlementmanagement |
|
Estensioni | vso.extension |
Estensioni (lettura) | Concede la possibilità di leggere le estensioni installate. | vso.profile |
vso.extension_manage |
Estensioni (lettura e gestione) | Concede la possibilità di installare, disinstallare ed eseguire altre azioni amministrative sulle estensioni installate. | vso.extension |
|
vso.extension.data |
Dati di estensione (lettura) | Concede la possibilità di leggere i dati (impostazioni e documenti) archiviati dalle estensioni installate. | vso.profile |
|
vso.extension.data_write |
Dati di estensione (lettura e scrittura) | Concede la possibilità di leggere e scrivere dati (impostazioni e documenti) archiviati dalle estensioni installate. | vso.extension.data |
|
Connessioni GitHub | vso.githubconnections |
Connessioni GitHub (lettura) | Concede la possibilità di leggere le connessioni GitHub e i dati dei repository GitHub. | |
vso.githubconnections_manage |
Connessioni GitHub (lettura e gestione) | Concede la possibilità di leggere e gestire le connessioni GitHub e i dati dei repository GitHub | vso.githubconnections |
|
Grafico e identità | vso.graph |
Grafico (lettura) | Concede la possibilità di leggere le informazioni sull'appartenenza a utenti, gruppi, ambiti e gruppi. | |
vso.graph_manage |
Grafico (gestisci) | Concede la possibilità di leggere informazioni su utenti, gruppi, ambito e appartenenza a gruppi e aggiungere utenti, gruppi e gestire le appartenenze ai gruppi. | vso.graph |
|
vso.identity |
Identità (lettura) | Concede la possibilità di leggere identità e gruppi. | ||
vso.identity_manage |
Identità (gestione) | Concede la possibilità di leggere, scrivere e gestire identità e gruppi. | vso.identity |
|
Gruppo di computer | vso.machinegroup_manage |
Gruppo di distribuzione (lettura, gestione) | Consente di gestire gruppi di distribuzione e pool di agenti. | vso.agentpools_manage |
Marketplace | vso.gallery |
Marketplace | Concede l'accesso in lettura a elementi e editori pubblici e privati. | vso.profile |
vso.gallery_acquire |
Marketplace (acquisizione) | Concede l'accesso in lettura e la possibilità di acquisire elementi. | vso.gallery |
|
vso.gallery_publish |
Marketplace (pubblicazione) | Concede l'accesso in lettura e la possibilità di caricare, aggiornare e condividere elementi. | vso.gallery |
|
vso.gallery_manage |
Marketplace (gestisci) | Concede l'accesso in lettura e la possibilità di pubblicare e gestire elementi e editori. | vso.gallery_publish |
|
Notifications | vso.notification |
Notifiche (lettura) | Fornisce l'accesso in lettura alle sottoscrizioni e ai metadati degli eventi, inclusi i valori dei campi filtrabili. | vso.profile |
vso.notification_write |
Notifiche (scrittura) | Fornisce l'accesso in lettura e scrittura alle sottoscrizioni e l'accesso in lettura ai metadati degli eventi, inclusi i valori di campo filtrabili. | vso.notification |
|
vso.notification_manage |
Notifiche (gestione) | Fornisce l'accesso in lettura, scrittura e gestione alle sottoscrizioni e l'accesso in lettura ai metadati degli eventi, inclusi i valori dei campi filtrabili. | vso.notification_write |
|
vso.notification_diagnostics |
Notifiche (diagnostica) | Fornisce l'accesso ai log di diagnostica correlati alle notifiche e consente di abilitare la diagnostica per le singole sottoscrizioni. | vso.notification |
|
Imballaggio | vso.packaging |
Creazione di pacchetti (lettura) | Concede la possibilità di leggere feed e pacchetti. | vso.profile |
vso.packaging_write |
Creazione di pacchetti (lettura e scrittura) | Concede la possibilità di creare e leggere feed e pacchetti. | vso.packaging |
|
vso.packaging_manage |
Creazione di pacchetti (lettura, scrittura e gestione) | Concede la possibilità di creare, leggere, aggiornare ed eliminare feed e pacchetti. | vso.packaging_write |
|
Risorse della pipeline | vso.pipelineresources_use |
Risorse della pipeline (uso) | Concede la possibilità di approvare la richiesta di una pipeline di usare una risorsa protetta: pool di agenti, ambiente, coda, repository, file protetti, connessione al servizio e gruppo di variabili. | |
vso.pipelineresources_manage |
Risorse della pipeline (uso e gestione) | Concede la possibilità di gestire una risorsa protetta o una richiesta di una pipeline di usare una risorsa protetta: pool di agenti, ambiente, coda, repository, file protetti, connessione al servizio e gruppo di variabili. | vso.pipelineresources_manage |
|
Progetto e team | vso.project |
Progetto e team (lettura) | Concede la possibilità di leggere progetti e team. | |
vso.project_write |
Progetto e team (lettura e scrittura) | Concede la possibilità di leggere e aggiornare progetti e team. | vso.project |
|
vso.project_manage |
Progetto e team (lettura, scrittura e gestione) | Concede la possibilità di creare, leggere, aggiornare ed eliminare progetti e team. | vso.project_write |
|
Versione | vso.release |
Versione (lettura) | Concede la possibilità di leggere gli artefatti della versione, incluse le versioni, le definizioni di versione e l'ambiente di rilascio. | vso.profile |
vso.release_execute |
Versione (lettura, scrittura ed esecuzione) | Concede la possibilità di leggere e aggiornare gli artefatti di versione, incluse le versioni, le definizioni di versione e l'ambiente di rilascio e la possibilità di accodare una nuova versione. | vso.release |
|
vso.release_manage |
Versione (lettura, scrittura, esecuzione e gestione) | Concede la possibilità di leggere, aggiornare ed eliminare artefatti di versione, incluse le versioni, le definizioni di versione e l'ambiente di rilascio e la possibilità di accodare e approvare una nuova versione. | vso.release_manage |
|
File protetti | vso.securefiles_read |
File protetti (lettura) | Concede la possibilità di leggere file protetti. | |
vso.securefiles_write |
File protetti (lettura, creazione) | Concede la possibilità di leggere e creare file sicuri. | vso.securefiles_read |
|
vso.securefiles_manage |
File protetti (lettura, creazione e gestione) | Concede la possibilità di leggere, creare e gestire file sicuri. | vso.securefiles_write |
|
Sicurezza | vso.security_manage |
Sicurezza (gestione) | Concede la possibilità di leggere, scrivere e gestire le autorizzazioni di sicurezza. | |
Connessioni al servizio | vso.serviceendpoint |
Endpoint servizio (lettura) | Concede la possibilità di leggere gli endpoint di servizio. | vso.profile |
vso.serviceendpoint_query |
Endpoint servizio (lettura e query) | Concede la possibilità di leggere ed eseguire query sugli endpoint del servizio. | vso.serviceendpoint |
|
vso.serviceendpoint_manage |
Endpoint servizio (lettura, query e gestione) | Concede la possibilità di leggere, eseguire query e gestire gli endpoint di servizio. | vso.serviceendpoint_query |
|
Hook del servizio | vso.hooks |
Hook di servizio (lettura) | Concede la possibilità di leggere sottoscrizioni e metadati dell'hook del servizio, inclusi eventi supportati, consumer e azioni. (Non più pubblico. | vso.profile |
vso.hooks_write |
Hook del servizio (lettura e scrittura) | Concede la possibilità di creare e aggiornare sottoscrizioni hook del servizio e leggere metadati, inclusi eventi supportati, consumer e azioni. (Non più pubblico. | vso.hooks |
|
vso.hooks_interact |
Hook del servizio (interazione) | Concede la possibilità di interagire ed eseguire azioni sugli eventi ricevuti tramite hook del servizio. (Non più pubblico. | vso.profile |
|
Impostazioni | vso.settings |
Impostazioni (lettura) | Concede la possibilità di leggere le impostazioni. | |
vso.settings_write |
Impostazioni (lettura e scrittura) | Concede la possibilità di creare e leggere le impostazioni. | ||
Simboli | vso.symbols |
Simboli (lettura) | Concede la possibilità di leggere i simboli. | vso.profile |
vso.symbols_write |
Simboli (lettura e scrittura) | Concede la possibilità di leggere e scrivere simboli. | vso.symbols |
|
vso.symbols_manage |
Simboli (lettura, scrittura e gestione) | Concede la possibilità di leggere, scrivere e gestire i simboli. | vso.symbols_write |
|
Gruppi di attività | vso.taskgroups_read |
Gruppi di attività (lettura) | Concede la possibilità di leggere i gruppi di attività. | |
vso.taskgroups_write |
Gruppi di attività (lettura, creazione) | Concede la possibilità di leggere e creare gruppi di attività. | vso.taskgroups_read |
|
vso.taskgroups_manage |
Gruppi di attività (lettura, creazione e gestione) | Concede la possibilità di leggere, creare e gestire gruppi di attività. | vso.taskgroups_write |
|
Team Dashboard | vso.dashboards |
Dashboard del team (lettura) | Concede la possibilità di leggere le informazioni del dashboard del team. | |
vso.dashboards_manage |
Dashboard del team (gestione) | Concede la possibilità di gestire le informazioni del dashboard del team. | vso.dashboards |
|
Gestione dei test | vso.test |
Gestione dei test (lettura) | Concede la possibilità di leggere piani di test, case, risultati e altri artefatti correlati alla gestione dei test. | vso.profile |
vso.test_write |
Gestione dei test (lettura e scrittura) | Concede la possibilità di leggere, creare e aggiornare piani di test, case, risultati e altri artefatti correlati alla gestione dei test. | vso.test |
|
Thread | vso.threads_full |
Thread di richiesta pull | Concede la possibilità di leggere e scrivere per eseguire il pull dei thread di commento delle richieste. | |
Token | vso.tokens |
Token di autorizzazione delegati | Concede la possibilità di gestire i token di autorizzazione delegati agli utenti. | |
vso.tokenadministration |
Amministrazione dei token | Concede la possibilità di gestire (visualizzare e revocare) i token esistenti agli amministratori dell'organizzazione. | ||
Profilo utente | vso.profile |
Profilo utente (lettura) | Concede la possibilità di leggere il profilo, gli account, le raccolte, i progetti, i team e altri artefatti dell'organizzazione di primo livello. | |
vso.profile_write |
Profilo utente (scrittura) | Concede la possibilità di scrivere nel profilo. | vso.profile |
|
Gruppi di variabili | vso.variablegroups_read |
Gruppi di variabili (lettura) | Concede la possibilità di leggere gruppi di variabili. | |
vso.variablegroups_write |
Gruppi di variabili (lettura, creazione) | Concede la possibilità di leggere e creare gruppi di variabili. | vso.variablegroups_read |
|
vso.variablegroups_manage |
Gruppi di variabili (lettura, creazione e gestione) | Concede la possibilità di leggere, creare e gestire gruppi di variabili. | vso.variablegroups_write |
|
Wiki | vso.wiki |
Wiki (lettura) | Concede la possibilità di leggere wiki, pagine wiki e allegati wiki. Concede inoltre la possibilità di cercare pagine wiki. | |
vso.wiki_write |
Wiki (lettura e scrittura) | Concede la possibilità di leggere, creare e aggiornare wiki, pagine wiki e allegati wiki. | vso.wiki |
|
Elementi di lavoro | vso.work |
Elementi di lavoro (lettura) | Concede la possibilità di leggere elementi di lavoro, query, lavagne, percorsi di aree e iterazioni e altri metadati correlati al rilevamento degli elementi di lavoro. Concede inoltre la possibilità di eseguire query, cercare elementi di lavoro e ricevere notifiche sugli eventi degli elementi di lavoro tramite hook del servizio. | vso.hooks_write |
vso.work_write |
Elementi di lavoro (lettura e scrittura) | Concede la possibilità di leggere, creare e aggiornare elementi di lavoro e query, aggiornare i metadati della scheda, l'area di lettura e le iterazioni percorsi di altri metadati correlati di rilevamento degli elementi di lavoro, eseguire query e ricevere notifiche sugli eventi degli elementi di lavoro tramite hook del servizio. | vso.work |
|
vso.work_full |
Elementi di lavoro (completo) | Concede l'accesso completo a elementi di lavoro, query, backlog, piani e metadati di rilevamento degli elementi di lavoro. Offre anche la possibilità di ricevere notifiche sugli eventi degli elementi di lavoro tramite hook del servizio. | vso.work_write |
|
Rappresentazione utente | user_impersonation |
Rappresentazione utente | Avere accesso completo alle API REST di Visual Studio Team Services. Richiedi e/o consenti questo ambito con cautela perché è molto potente! |
Modifica dell'ambito dell'estensione pubblicata
È possibile modificare l'ambito di un'estensione pubblicata. Se in precedenza è stata installata l'estensione (e autorizzato il set di ambiti precedente), autorizzare i nuovi ambiti prima di poter eseguire l'aggiornamento alla versione più recente.
La sezione Azione necessaria dell'hub delle impostazioni dell'estensione mostra un utente che, se presente, le estensioni installate richiedono l'autorizzazione:
Un amministratore può quindi esaminare e autorizzare il nuovo set di ambiti:
Destinazioni di installazione
Come suggerisce il nome, le destinazioni di installazione definiscono i prodotti e i servizi in cui è possibile installare l'estensione. Microsoft.VisualStudio.Services
è la destinazione di installazione più comune e indica che l'estensione può essere installata in Azure DevOps.
Le destinazioni di installazione per un'estensione o un'integrazione vengono specificate tramite il targets
campo nel manifesto.
Identificatori supportati per le estensioni:
Microsoft.VisualStudio.Services.Cloud
: viene installato in Azure DevOps ServicesMicrosoft.TeamFoundation.Server
: viene installato in Azure DevOps ServerMicrosoft.VisualStudio.Services
: viene installato in entrambi. Collegamento perMicrosoft.VisualStudio.Services.Cloud
eMicrosoft.TeamFoundation.Server
versione[14.2,)
Identificatori supportati per le integrazioni:
Microsoft.VisualStudio.Services.Cloud.Integration
: si integra con Azure DevOps ServicesMicrosoft.TeamFoundation.Server.Integration
: si integra con Azure DevOps ServerMicrosoft.VisualStudio.Services.Integration
: si integra con entrambi. Collegamento perMicrosoft.VisualStudio.Services.Cloud.Integration
eMicrosoft.TeamFoundation.Server.Integration
Per altre informazioni, vedere Punti di estendibilità.
Esempi di destinazioni di installazione
Esempio: estensione che funziona con Azure DevOps
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
]
}
Esempio: estensione che funziona solo con Azure DevOps Services
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Cloud"
}
]
}
Le destinazioni di installazione possono essere usate anche nel manifesto delle integrazioni. Ad esempio, prodotti, app o strumenti che funzionano con, ma non vengono installati in Azure DevOps.
Esempio: Integrazione compatibile con Azure DevOps
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Integration"
}
]
}
Esempio: Integrazione che funziona solo con Azure DevOps Server
{
"targets": [
{
"id": "Microsoft.TeamFoundation.Server.Integration"
}
]
}
Versioni di destinazione dell'installazione
Alcuni identificatori di destinazione di installazione, ad esempio Microsoft.TeamFoundation.Server
e Microsoft.TeamFoundation.Server.Integration
, supportano un intervallo di versioni facoltativo. Questo intervallo di versioni facoltativo chiarisce ulteriormente le versioni supportate in cui è supportata l'estensione o l'integrazione.
L'intervallo di versione o versione viene specificato tramite il version
campo nell'oggetto di destinazione dell'installazione. Questo valore può essere:
- Una versione specifica, ad esempio:
15.0
(solo 2017 RTM) - Intervallo di versioni supportate, ad esempio:
[14.0)
(2015 RTM e versioni successive),[14.3,15.1]
(da 2015 Update 3 a 2017 Update 1). I valori di intervallo vengono perfezionati usando:[
: versione minima inclusiva]
: numero massimo di versioni incluse(
: versione minima esclusiva)
: versione massima esclusiva
Numeri di versione per Azure DevOps Server:
Rilascio | Versioni | Versione |
---|---|---|
2010 | Tutte le versioni | 10.0 |
2012 | Tutte le versioni | 11.0 |
2013 | RTM e aggiornamenti | 12.0, 12.1, 12.2, 12.3, 12.4 |
2015 | RTM e aggiornamenti | 14.0, 14.1, 14.2, 14.3 |
2017 | RTM e aggiornamenti | 15.0, 15.1 |
2018 | RTM e aggiornamenti | 16,0 |
2019 | RTM e aggiornamenti | 17.0 |
2020 | RTM e aggiornamenti | 18.0 |
Esempi che illustrano le versioni
Esempio: estensione che funziona con Azure DevOps
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Cloud"
},
{
"id": "Microsoft.TeamFoundation.Server",
"version": "[15.0,)"
}
]
}
Collegamenti
Microsoft.VisualStudio.Services
è un collegamento per Azure DevOps.
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
]
}
Equivale a:
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Cloud"
},
{
"id": "Microsoft.TeamFoundation.Server",
"version": "[14.2,)"
}
]
}
Uso di destinazioni e richieste di installazione
Le destinazioni e le richieste di installazione vengono usate insieme per presentare agli utenti una visualizzazione corretta dei prodotti/servizi con cui è compatibile l'estensione o l'integrazione. Ad esempio, specificando una destinazione di installazione di Microsoft.VisualStudio.Services
con una richiesta di api-version/3.0
significa che l'estensione funziona con Azure DevOps.
Suggerimento
Per altre informazioni sulle API REST, vedere le informazioni di riferimento sulle API REST.
Esempio: estensione che usa le API versione 3.0
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
],
"demands": [
"api-version/3.0"
]
}
Risolve le destinazioni di installazione seguenti:
Microsoft.VisualStudio.Services.Cloud
Microsoft.TeamFoundation.Server
Versione:[15.0,)
Esempio: Integrazione che usa le API della versione 2.0
{
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Integration"
}
],
"demands": [
"api-version/2.0"
]
}
Risolve le destinazioni di installazione seguenti:
Microsoft.VisualStudio.Services.Cloud.Integration
Microsoft.TeamFoundation.Server.Integration
Versione:[14.0,)
Richieste
Le richieste consentono di specificare funzionalità e altre funzionalità richieste dall'estensione. È possibile usare queste richieste per limitare la posizione in cui è possibile pubblicare o installare l'estensione.
Le richieste vengono usate da Visual Studio Marketplace per elencare i prodotti e gli ambienti con cui l'estensione è compatibile, che consente ai clienti di capire se l'estensione funziona con la versione di Azure DevOps, ad esempio.
Vedere l'esempio seguente di come vengono specificate le richieste nel manifesto dell'estensione.
{
"demands": [
"api-version/3.0",
"contribution/ms.vss-dashboards-web.widget-catalog"
]
}
In questo esempio l'estensione richiede la versione 3.0 delle API, il che significa che può essere installato solo in Azure DevOps. Richiede anche che l'estensione ms.vss-dashboards-web
(e il relativo widget-catalog
contributo) sia installata (e abilitata) nella raccolta prima che l'estensione possa essere installata.
Richieste supportate
Tipo | Descrizione | Checked at publish? | Checked at install? |
---|---|---|---|
environment/cloud |
Richiede l'esecuzione in un ambiente cloud | Sì | Sì |
environment/onprem |
Richiede l'esecuzione in un ambiente locale | Sì | Sì |
api-version/{version} |
Richiede una versione api specifica (minima) | No | Sì |
extension/{id} |
Richiede l'installazione o l'abilitazione di un'estensione specifica | No | Sì |
contribution/{id} |
È necessario che sia disponibile un contributo specifico | No | Sì |
contributionType/{id} |
Richiede che sia disponibile un tipo di contributo specifico | No | Sì |
Nota
- Usare
environment/cloud
eenvironment/onprem
solo quando l'estensione ha requisiti correlati alla topologia che richiedono l'esecuzione in quel particolare ambiente. extension
Le richieste ,contribution
econtributionType
vengono valutate in fase di installazione e richiedono che l'estensione specificata sia già installata e abilitata nell'organizzazione/raccolta.
File
La files
sezione consente di fare riferimento a tutti i file che si desidera includere nell'estensione. È possibile aggiungere cartelle e singoli file:
{
"files": [
{
"path": "hello-world.html", "addressable": true
},
{
"path": "scripts", "addressable": true
},
{
"path": "images/logo.png", "addressable": true, "packagePath": "/"
}
]
}
Proprietà
Proprietà per la sezione File:
- path : percorso della risorsa su disco, che può essere relativo alla directory radice.
- addressable : (facoltativo) Impostare su true se si vuole che il file sia indirizzabile tramite URL. Il valore predefinito è false.
- packagePath : (facoltativo) Percorso della risorsa all'interno del pacchetto. L'impostazione predefinita è il percorso relativo sul disco dalla directory radice.
- contentType : tipo MIME (facoltativo) del file. Il valore predefinito è un'ipotesi migliore in base alle impostazioni dell'estensione del file e del sistema operativo.
- assetType : (facoltativo) Specificare il valore dell'attributo Type della voce di asset nel manifesto VSIX. Può anche essere una matrice di stringhe, nel qual caso vengono aggiunte più voci di asset per questo file. Il valore predefinito è packagePath.
- lang : (facoltativo) Lingua di questo asset. I file localizzati vengono serviti in base all'intestazione Accept-Language. Lasciare vuoto per indicare il file nella lingua predefinita (o di fallback). Le versioni localizzate dello stesso file devono avere lo stesso assetType.
Contributi
Ogni voce di contributo ha le proprietà seguenti:
- id : ID di riferimento (stringa) per il contributo. Rendere univoco ogni ID contributo all'interno di un'estensione. Vedere Riferimenti a contributi e tipi.
- type : ID del valore di contributionType di questo contributo.
- description : (facoltativo) Stringa che descrive il contributo fornito.
- targets : matrice di ID contributo a cui è destinato il contributo (che contribuisce). Vedere Targeting contributi.
- properties - (Facoltativo) Oggetto che include proprietà per il contributo come definito nel tipo di contributo.
Per altre informazioni, vedere la panoramica del modello di contributo.
Tipi di contributo
Ogni voce di contributo ha le proprietà seguenti:
- id : ID riferimento (stringa) per il tipo di contributo. Rendere univoco ogni ID del tipo di contributo all'interno di un'estensione. Vedere Riferimenti a contributi e tipi.
- name : nome descrittivo del tipo di contributo.
- description : (facoltativo) Stringa che descrive in modo più dettagliato il tipo di contributo.
- properties : (facoltativo) Dizionario che esegue il mapping dei nomi delle proprietà alle descrizioni delle proprietà. Queste proprietà descrivono le proprietà obbligatorie e facoltative che possono essere usate dai contributi di questo tipo.
Le descrizioni delle proprietà hanno le proprietà seguenti:
- description : (facoltativo) Stringa che descrive la proprietà utilizzata.
- required - (Facoltativo) Valore booleano, che se true indica che la proprietà è necessaria per tutti i contributi di questo tipo.
- type : tipo di valore che la proprietà può avere, che può essere stringa, uri, guid, booleano, integer, double, dateTime, matrice o oggetto.
Per altre informazioni, vedere la panoramica del modello di contributo.
Riferimento a contributi e tipi
Usare identificatori univoci per fare riferimento a contributi e tipi di contributi. Tipi di riferimento con la type
proprietà e fare riferimento ad altri contributi con la targets
proprietà .
- Un riferimento completo al contributo include l'identificatore dell'editore, l'identificatore di estensione e l'identificatore di contributo/tipo, separati da un punto (.). Ad esempio,
ms.vss-web.hub
è l'identificatore completo per il contributo con identificatore di "hub" nell'estensione "vss-web" pubblicata dal server di pubblicazione "ms" (Microsoft). - I riferimenti relativi ai contributi possono essere usati all'interno di un manifesto dell'estensione per il riferimento di un contributo a un altro tipo di contributo o di contributo all'interno della stessa estensione. In questo caso, gli identificatori dell'autore e dell'estensione NON sono inclusi e l'identificatore è un punto (.) seguito dall'identificatore del contributo. Ad esempio, ".hub" potrebbe essere usato all'interno dell'estensione "vss-web" menzionata in precedenza come collegamento per "ms.vss-web.hub".
Targeting dei contributi
Alcuni contributi fungono da contenitori destinati ad altri contributi.
- I contributi dell'hub possono essere destinati ai gruppi hub. Quando viene eseguito il rendering di una pagina, l'interfaccia utente Web mostra tutti i contributi dell'hub destinati al gruppo hub selezionato. I gruppi hub hanno come destinazione una raccolta di gruppi hub, che definisce un set di gruppi hub visualizzati in una determinata area di spostamento, ad esempio pagine di amministrazione a livello di progetto.
- Diversi tipi di contributi possono essere destinati ai menu: azione, azione collegamento ipertestuale e provider di azioni. Azioni e azioni collegamento ipertestuale forniscono voci a voce di menu singola. Un provider di azioni può fornire più voci di menu dinamiche. Per un determinato menu, le voci vengono aggregate in tutti i contributi (di uno di questi tipi) destinati a tale contributo di menu specifico.
Aggiunta di un'icona hub
Per informazioni sull'aggiunta di un'icona all'hub, vedere il materiale sussidiario sull'icona dell'hub.
Servizi badge supportati
Marketplace supporta solo notifiche dai servizi attendibili seguenti:
- api.travis-ci.org/
- badge.fury.io/
- badges.frapsoft.com/
- badges.gitter.im/
- badges.greenkeeper.io/
- cdn.travis-ci.org/
- ci.appveyor.com/
- codeclimate.com/
- codecov.io/
- coveralls.io/
- david-dm.org/
- gemnasium.com/
- img.shields.io/
- isitmaintained.com/
- marketplace.visualstudio.com/
- snyk.io/
- travis-ci.com/
- travis-ci.org/
- vsmarketplacebadges.dev/
- bithound.io/
- deepscan.io/
- githost.io/
- gitlab.com/
- opencollective.co/
Nota
Sostituire "vsmarketplacebadge.apphb.com" con "vsmarketplacebadges.dev".
Per visualizzare una notifica da un altro servizio, contattare il supporto tecnico nella community degli sviluppatori.
Manifesto di esempio
L'estensione seguente contribuisce a un'azione per il menu di scelta rapida delle compilazioni completate e un hub per il gruppo Di hub di compilazione:
{
"manifestVersion": 1,
"id": "tools",
"version": "0.1.0",
"name": "Fabrikam Tools",
"publisher": "fabrikam",
"description": "Awesome tools to help you and your team do great things everyday.",
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
],
"demands": [
"api-version/3.0"
],
"icons": {
"default": "images/fabrikam-logo.png"
},
"scopes": [
"vso.work",
"vso.code_write"
],
"categories": [
"Plan and track"
],
"tags": [
"working",
"people person",
"search"
],
"branding": {
"color": "rgb(34, 34, 34)",
"theme": "dark"
},
"screenshots": [
{
"path": "screenshots/screen1.png"
},
{
"path": "screenshots/screen2.png"
}
],
"content": {
"details": {
"path": "overview.md"
},
"license": {
"path": "eula.md"
}
},
"links": {
"home": {
"uri": "https://www.fabrikam-fiber-inc.com"
},
"getstarted": {
"uri": "https://www.fabrikam-fiber-inc.com/help/getstarted"
},
"learn": {
"uri": "https://www.fabrikam-fiber-inc.com/features"
},
"support": {
"uri": "https://www.fabrikam-fiber-inc.com/support"
},
"repository": {
"uri": "https://github.com/fabrikam-fiber-inc/tools"
},
"issues": {
"uri": "https://github.com/fabrikam-fiber-inc/tools/issues"
}
},
"repository": {
"type": "git",
"uri": "https://github.com/fabrikam-fiber-inc/myextension"
},
"badges": [
{
"href": "https://travis.ci/fabrikam-fiber-inc/myextension",
"uri": "https://travis.ci/fabrikam-fiber-inc/myextension.svg?branch=master",
"description": "TravisCI build for the project"
},
{
"href": "https://ci.appveyor.com/projects/fabrikam-fiber-inc/myextension",
"uri": "https://ci.appveyor.com/api/projects/status/vlg2sgs2y7tsdxpj4c?svg=true",
"description": "AppVeyor build for the project"
}
],
"contributions": [
{
"id": "showCommits",
"type": "ms.vss-web.action",
"description": "Adds a menu action from builds grid to show associated items.",
"targets": [
"ms.vss-build-web.completed-build-menu"
],
"properties": {
"title": "View associated items",
"uri": "launch.html"
}
}
]
}