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
Pubblicare lo strumento, il servizio o il prodotto che si integra con Azure DevOps in Visual Studio Marketplace. Marketplace è l'hub centrale per consentire agli utenti di individuare integrazioni ed estensioni.
Nota
Questo articolo illustra le integrazioni (strumenti e servizi esterni). Per le estensioni (componenti aggiuntivi eseguiti all'interno di Azure DevOps), vedere Creare pacchetti e pubblicare estensioni.
Prerequisiti
Prima di pubblicare nel Marketplace, è necessario soddisfare l'elenco seguente dei requisiti.
| Categoria | Requisiti |
|---|---|
| Strumento di creazione di pacchetti | Installare lo strumento per il packaging delle estensioni (TFX). Esegui npm install -g tfx-cli da un prompt dei comandi. |
| Autorizzazioni per le immagini | Assicurarsi di disporre delle autorizzazioni appropriate per usare qualsiasi immagine, ad esempio icone, logo, screenshot e così via. |
| Panoramica del Marketplace | Includere un file completo overview.md per descrivere l'annuncio nel Marketplace. |
| Icona dell'estensione | Includere un'icona per l'estensione che rappresenta l'integrazione, la società o l'organizzazione, almeno 128x128 pixel di dimensioni (PNG o JPEG). |
| Nomi dei prodotti Microsoft | Usare nomi completi per i prodotti Microsoft, ad esempio Azure DevOps anziché AzDO o altre abbreviazioni. |
| Nomi di marchio | Non usare i nomi dei marchi nel nome dell'estensione. |
Sono necessari anche gli asset seguenti:
- Almeno uno screenshot dell'integrazione
- UN URL di invito all'azione o un URL introduttivo per gli utenti
Creare un autore
Ogni estensione o integrazione, inclusi quelli di Microsoft, deve avere un editore. Chiunque può creare un editore e pubblicare le estensioni al suo interno. È anche possibile condividere l'accesso all'editore con altri utenti, ad esempio il team di sviluppo.
Accedi al portale di pubblicazione di Visual Studio Marketplace .
Se non si fa parte di un server di pubblicazione esistente, selezionare + Crea un server di pubblicazione.
Immettere un nome dell'editore; il campo ID viene compilato automaticamente in base all'inserimento.
Nota
- Verificare che il nome dell'editore sia compreso tra 16 caratteri per i caratteri multibyte.
- Salva l'ID editore, necessario nel file di manifest dell'estensione.
Se non viene richiesto di creare un server di pubblicazione, scorrere fino a Pubblica estensioni in Siti correlati.
- Impostare un identificatore di autore univoco, ad esempio
mycompany-myteam. Usare questo valore per l'attributopublishernel manifesto. - Impostare un nome visualizzato, ad esempio
My Team.
Esaminare il Contratto di pubblicazione del Marketplace e quindi selezionare Crea.
Dopo aver creato l'editore, è possibile gestire gli elementi, anche se non vengono visualizzati elementi fino alla pubblicazione.
Configurare la struttura del progetto
Creare il layout di directory seguente:
home/
├── images/
│ ├── integration-logo.png (128×128 px minimum)
│ └── screenshot.png (1366×768 px)
├── overview.md
└── vss-integration.json
| File | Scopo |
|---|---|
overview.md |
GitHub Flavored Markdown descrizione dell'integrazione. |
vss-integration.json |
Manifesto del Marketplace. Vedere Informazioni di riferimento sul manifesto dell'estensione. |
Creare il manifesto
Creare vss-integration.json con il contenuto seguente, quindi aggiornare i valori per l'integrazione:
{
"manifestVersion": 1,
"id": "myservice",
"version": "1.0.0",
"name": "My Service",
"publisher": "mycompany",
"description": "Awesome tools to help you and your team do great things everyday.",
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Integration"
}
],
"icons": {
"default": "images/service-logo.png"
},
"categories": [
"Plan and track"
],
"tags": [
"working",
"people person",
"search"
],
"screenshots": [
{
"path": "images/screen1.png"
},
{
"path": "images/screen2.png"
}
],
"content": {
"details": {
"path": "overview.md"
},
"license": {
"path": "fabrikam-license-terms.md"
}
},
"links": {
"getstarted": {
"uri": "https://www.mycompany.com/help/getstarted"
},
"learn": {
"uri": "https://www.mycompany.com/features"
},
"support": {
"uri": "https://www.mycompany.com/support"
}
},
"branding": {
"color": "rgb(34, 34, 34)",
"theme": "dark"
}
}
Aggiornare i campi usando i riferimenti seguenti:
Sono necessarie le proprietà seguenti:
| 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. |
| versione | 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 |
| nome | Nome breve e leggibile dell'estensione. Massimo 200 caratteri. | Esempio: "Fabrikam Agile Board Extension". |
| editore | Identificatore dell'editore. | 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 PipelinesAzure Test Plans, e Azure Artifacts.Note:
- Se si usa l'estensione Azure DevOps Extension Tasks per pubblicare, 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 & precedenti. |
| obiettivi | 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),- Microsoft.TeamFoundation.Server (estensione che funziona con Azure DevOps Server),- Microsoft.VisualStudio.Services.Integration, - Microsoft.TeamFoundation.Server.Integration (integrazioni che funzionano con Azure DevOps Server) |
Le proprietà facoltative seguenti consentono agli utenti di individuare e ottenere informazioni sull'estensione:
| Proprietà | Descrizione | Note |
|---|---|---|
| descrizione | Alcune frasi che descrivono le estensioni. Massimo 200 caratteri. | La descrizione deve essere la "presentazione lampo" 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 | Array di tags di stringhe per aiutare gli utenti a trovare la tua estensione. | Esempi: agile, project management, task timere così via. |
| screenshot | Raccolta di immagini che non sono state incluse nel tuo 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. Il path di ciascun elemento è il percorso del file nell'estensione. |
| contenuto | Dizionario di file di contenuto che descrivono l'estensione per gli utenti. |
Ogni estensione deve includere contenuto solido. Questo è il modo in cui mostrerai 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'elemento path di ogni oggetto è 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 |
| deposito | 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 | Array di collegamenti a badge di metadati esterni come TravisCI, Appveyor e così via, dai siti approvati per i badge | Chiavi valide: href - Il link a cui l'utente viene indirizzato quando seleziona il badge.
uri - L'URL assoluto dell'immagine del 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. |
Avvertimento
Impostare public su false o ometterlo finché non si è pronti per la visibilità pubblica.
Creare un pacchetto per l'integrazione
Installare lo strumento di creazione pacchetti se non l'hai già installato.
npm install -g tfx-cliImpacchetta la tua integrazione in un file .vsix:
tfx extension create --manifest-globs vss-integration.jsonSuggerimento
Usare
--rev-versionper incrementare automaticamente il numero di versione della patch.
Pubblicare nel Marketplace
Dopo aver creato il pacchetto dell'estensione, è possibile caricarla sul Marketplace sotto un publisher. L'identificatore publisher specificato nel file manifesto dell'estensione deve corrispondere all'identificatore dell'autore in cui viene caricata l'estensione.
Nel portale di gestione selezionare l'editore dal menu a discesa nella parte superiore della pagina.
Selezionare Nuova estensione>Azure DevOps.
Trascina e rilascia il tuo file oppure selezionalo per trovare il tuo file VSIX, che hai creato nel passaggio di creazione del pacchetto precedente, e quindi scegli Carica.
Dopo la convalida rapida, l'estensione viene visualizzata nell'elenco delle estensioni pubblicate. Non preoccuparti, l'estensione è visibile solo per te.
A questo punto, l'estensione non è visibile ad alcun account. Per renderlo visibile ad altri utenti, è necessario condividere l'estensione.
Nota
Microsoft esegue un'analisi di virus su ogni pacchetto di estensione nuovo e aggiornato pubblicato. Finché l'analisi non dia esito positivo, l'estensione non viene pubblicata nel Marketplace per uso pubblico. In questo modo evitiamo anche di mostrare contenuti inappropriati o offensivi nelle pagine del Marketplace.
Condividere l'integrazione
Prima di poter installare un'integrazione in un'organizzazione Azure DevOps, è necessario condividerla con tale organizzazione.
- Selezionare l'integrazione nell'elenco degli elementi visualizzati.
- Seleziona Condividi.
- Immettere il nome dell'organizzazione,
fabrikam-fiber-incad esempio perdev.azure.com/fabrikam-fiber-inc.
Aggiornare l'integrazione
Per aggiornare un'estensione già pubblicata, seguire questa procedura:
Suggerimento
Aggiornare l'estensione invece di rimuoverla e ricaricarla. È consigliabile mantenere due estensioni: publisher.extension, pubblica nel Marketplace per i clienti e publisher.extension-dev, privata, condivisa solo con l'organizzazione per lo sviluppo e il test.
Non sono necessarie due copie del codice sorgente, ma solo gestire file manifesto separati per ogni estensione. Quando si crea il pacchetto, fornire il file manifesto appropriato allo strumento tfx-cli. Per altre informazioni, vedere Comandi di estensione TFX.
- Selezionare l'estensione dall'elenco di elementi visualizzati.
- Fare clic con il pulsante destro del mouse e selezionare Aggiorna per la versione di sviluppo, ad esempio
publisher.extension-dev. - Convalidare l'estensione.
- Applicare gli stessi aggiornamenti alla versione di produzione, ad esempio
publisher.extension. - Accedi al file .vsix per la tua estensione e caricalo.
Azure DevOps installa automaticamente la versione aggiornata per tutti gli account che dispongono già dell'estensione. Le nuove installazioni ricevono anche la versione più recente.
Rendere pubblica l'integrazione
Per rendere visibile l'integrazione a tutti gli utenti del Marketplace, impostare il public flag su true nel manifesto e ripubblicare.
Per altre informazioni sulle qualifiche necessarie per le inserzioni pubbliche, vedere Rendere pubblica l'estensione.