Condividi tramite


Personalizzare un processo XML ospitato

Servizi di Azure DevOps

Azure DevOps supporta l'aggiunta e l'aggiornamento di processi tramite un'esperienza amministrativa che è un processo di importazione basato sul Web. Dopo aver aggiunto un processo, è possibile creare uno o più progetti da esso. È possibile aggiornare il processo in qualsiasi momento importandolo di nuovo. Le modifiche apportate al modello di processo vengono quindi applicate a tutti i progetti che usano il processo stesso.

Importante

Con il modello di processo XML ospitato, è possibile personalizzare il rilevamento del lavoro aggiornando i file di definizione XML di un modello di processo. Questa funzionalità è disponibile solo quando i dati vengono migrati ad Azure DevOps Services usando Azure DevOps Data Migration Tool. Se si usa il modello processo di ereditarietà, è possibile personalizzare il rilevamento del lavoro tramite l'interfaccia utente creando un processo di ereditarietà. Se si usa il modello di processo XML locale, è possibile personalizzare un modello di processo, vedere Caricare o scaricare un modello di processo e Personalizzare un modello di processo

Per altre informazioni sulla personalizzazione e sui modelli di processo, vedere Personalizzare il rilevamento del lavoro.

Un processo è un file ZIP che contiene un set di file interdipendenti. Questi file definiscono i blocchi predefiniti del sistema di rilevamento degli elementi di lavoro e di altri sottosistemi in Azure DevOps. Alcuni blocchi predefiniti aggiornano i progetti esistenti, mentre altri si applicano solo ai nuovi progetti. Per l'elenco completo dei blocchi predefiniti, vedere la tabella seguente:

Utilizzato durante l'importazione/aggiornamento di un processo Usato durante la creazione di un nuovo progetto Sostituito dalle impostazioni predefinite del sistema Ignorato
Verifica elementi di lavoro Aree e iterazioni Costruire Mapping di Microsoft Project
Tipi di elemento di lavoro (WIT) Gestione test Gestione del laboratorio Report
Categorie Elementi di lavoro Controllo della versione Portale (prodotti SharePoint)
Configurazione del processo Query sugli elementi di lavoro

Prerequisiti

Per indicazioni su come personalizzare Azure Boards per allinearsi ai requisiti aziendali specifici, vedere Informazioni sulla configurazione e la personalizzazione di Azure Boards.

Categoria Requisiti
autorizzazioni - Per creare, eliminare o modificare un processo: membro del gruppo Amministratori raccolta progetti o autorizzazioni specifiche a livello di raccolta Crea processo, Elimina processo, Modifica processo, o Elimina un campo dall'organizzazione impostato su Consenti. Per altre informazioni, vedere Impostare le autorizzazioni e l'accesso per il monitoraggio del lavoro, Personalizzare un processo ereditato.
- Per aggiornare le bacheche: Amministratore del Team o un membro del gruppo Amministratori del Progetto.
Accesso - Anche se si ha basic o un accesso inferiore, è comunque possibile modificare un processo se qualcuno concede le autorizzazioni necessarie.
- Per aggiornare e modificare il tipo di elementi di lavoro esistenti: membro del progetto.
modello di processo del progetto - Avere il modello di ereditarietà per la raccolta del progetto che contiene il progetto.
- Se si esegue la migrazione dei dati ad Azure DevOps Services, usare Servizio di importazione database di Team Foundation Server.
conoscenza Familiarità con la personalizzazione e i modelli di processo.

Personalizzare un processo

La personalizzazione di un processo è più efficiente quando si inizia con un processo ben definito anziché crearne uno da zero.

Se si aggiorna un processo esistente usato in precedenza con Azure DevOps Server, assicurarsi che rispetti i vincoli necessari per l'importazione di modelli per evitare errori di convalida durante il processo di importazione.

Esportare e importare un processo

Per importare o esportare un processo, seguire questa procedura:

  1. Accedi alla tua organizzazione (https://dev.azure.com/{Your_Organization}).

  2. Seleziona Impostazioni organizzazione.

    Screenshot che mostra il pulsante Impostazioni organizzazione evidenziato.

  3. Seleziona Processo.

    Screenshot che mostra le impostazioni dell'organizzazione, pagina del Processo.

    Importante

    Se non viene visualizzato Processo, si sta lavorando da una versione precedente in cui la pagina Processo non è supportata. Usare le funzionalità supportate per il modello di processo XML locale.

  4. Seleziona i puntini di sospensione (...) per aprire il menu di scelta rapida del processo XML ospitato che desideri esportare. È possibile esportare solo processi XML ospitati.

    Opzione di menu Esporta processo XML ospitato nella pagina > Elaborazione

    Salvare il file ZIP ed estrarre tutti i file da esso.

  5. Rinominare il processo all'interno del file ProcessTemplate.xml che si trova nella directory radice.

    Denominare il processo per distinguerlo da quelli esistenti.

    <name>MyCompany Agile Process </name>

    Modificare il tipo di versione e modificare i numeri principali e secondari. Specificare un GUID distinto per il tipo come in questo esempio:

    <version type="F50EFC58-C2FC-4C66-9814-E395D90778A3" major="1" minor="1"/>

  6. Applicare le personalizzazioni supportate.

  7. Creare un file ZIP di tutti i file e le cartelle nella directory radice.

  8. Importare il file ZIP del processo personalizzato.

Personalizzazioni supportate

È possibile applicare le personalizzazioni seguenti al processo:

Differenze

Azure DevOps Services e Azure DevOps Server usano modelli diversi per i progetti e i processi correlati:

  • In Azure DevOps Server i modelli di processo fungono da punti di partenza per i progetti e la personalizzazione ha come ambito singoli progetti.
  • In Azure DevOps Services i processi vengono condivisi tra più progetti e fungono da ambito per la personalizzazione.

La struttura e la sintassi per la definizione dei modelli di processo sono per lo più coerenti, con solo piccole differenze tra i modelli progettati per Azure DevOps Services e Azure DevOps Server.

Annotazioni

La migrazione da XML ospitato al modello ereditato è supportata solo in Azure DevOps Services, non in Azure DevOps Server.

Restrizioni

È possibile importare fino a 32 processi in Azure DevOps Services. I processi personalizzati devono essere conformi a tutte le regole riepilogate seguenti. In caso contrario, potrebbero essere visualizzati messaggi di errore di convalida all'importazione.

Personalizzazioni non supportate e file plug-in non referenziati

Qualsiasi riferimento agli oggetti seguenti in uno dei file di definizione XML genera un errore di convalida al momento dell'importazione:

  • Controlli personalizzati nei moduli degli elementi di lavoro
  • Tipi di collegamento personalizzati
  • Flusso di lavoro globale
  • Supporto del team sul campo
  • For e regole Not
  • Supporto alle regole di corrispondenza

I plug-in seguenti e i relativi file associati non vengono usati per definire un processo né per aggiornare i progetti esistenti: tuttavia, vengono usati per creare oggetti o artefatti quando si crea un nuovo progetto.

  • Classificazione
  • Query sugli elementi di lavoro, definite usando la sintassi WIQL (Work Item Query Language)
  • Gestione test
  • Elementi di lavoro

Annotazioni

La lunghezza di WIQL non deve superare i 32 K caratteri. Il sistema non consente di creare o eseguire query che superano tale lunghezza.

I plug-in seguenti e i relativi file associati vengono sostituiti da impostazioni predefinite di sistema:

  • Costruire
  • Gruppi e autorizzazioni
  • Laboratorio
  • Controllo della versione

I plug-in seguenti e i relativi file associati vengono ignorati:

  • Mapping di Microsoft Project
  • Report
  • Windows SharePoint Services

I plug-in personalizzati non sono supportati.

Limiti di oggetto

Quando si personalizza un modello di processo per l'importazione, limitare il numero di oggetti definiti come specificato in Limiti degli oggetti di rilevamento del lavoro.

Modello di processo

Il file ProcessTemplate.xml deve essere conforme alla sintassi e alle regole descritte in Riferimento all'elemento XML ProcessTemplate. Inoltre, deve soddisfare le condizioni seguenti:

  • Limita il numero di wit definiti a 64
  • Contiene un solo file di definizione Categories.xml
  • Contiene un solo file di definizione ProcessConfiguration.xml
  • Usa nomi descrittivi univoci in tutti i campi e definizioni di WIT

Inoltre, il processo deve superare i controlli di convalida seguenti:

  • I nomi dei processi sono univoci e contengono al massimo 155 caratteri Unicode.
    • Un modello con lo stesso nome e GUID della versione di un processo esistente sovrascrive tale processo.
    • Un modello con lo stesso nome ma un GUID di versione diverso genera un errore.
    • I nomi dei processi non possono contenere i caratteri speciali seguenti: . , ; ' ` : / \ * | ? " & % $ ! + = ( ) [ ] { } < >.
      Per altri vincoli, vedere Restrizioni di denominazione .
  • Le cartelle di processo non contengono file .exe. Anche se è possibile importare un processo contenente un file .exe, la creazione del progetto ha esito negativo.
  • Le dimensioni totali del processo sono al massimo di 2 GB. In caso contrario, la creazione del progetto ha esito negativo.

Configurazione del processo

Il file di definizione ProcessConfiguration.xml deve essere conforme alla sintassi e alle regole descritte in Riferimento all'elemento XML ProcessConfiguration. Inoltre, deve soddisfare le condizioni seguenti:

  • Specifica tutti gli TypeFields elementi
  • È limitato a cinque backlog portfolio
  • Contiene un solo backlog del portfolio nonparentato
  • Specifica un solo backlog del portfolio padre per ogni backlog del portfolio subordinato
  • Contiene i mapping dello stato del flusso di lavoro necessari per metastate e non fa riferimento a metastate non supportati

Categorie

Il file di definizione di Categories.xml deve essere conforme alla sintassi e alle regole descritte in Categorie riferimento agli elementi XML. Inoltre, deve soddisfare le condizioni seguenti:

  • È limitato a 32 categorie
  • Definisce tutte le categorie a cui si fa riferimento nel file di definizione ProcessConfiguration.xml

Tipi di elemento di lavoro

Un WITD elemento e i relativi elementi figlio devono essere conformi alla sintassi e alle regole descritte in Informazioni di riferimento sugli elementi XML WITD. Inoltre, deve soddisfare le condizioni seguenti:

  • Sono presenti al massimo 1.024 campi all'interno di un singolo WIT e 1.024 campi in tutte le reti wit.
  • Il nome descrittivo e l'attributo obbligatorio refname assegnati a un WIT sono univoci all'interno del set di file di definizione WIT.
  • Il valore dell'attributo richiesto refname non contiene caratteri non consentiti o usa gli spazi dei nomi non consentiti System.Name e Microsoft.Name.
  • I nomi di riferimento contengono almeno un punto (.) e tutti gli altri caratteri sono lettere senza spazi.
  • L'elemento WITD contiene un elemento FORM che definisce un elemento WebLayout conforme alla sintassi specificata negli elementi WebLayout e Control.

Campi elemento di lavoro

Un FIELDS elemento e i relativi elementi figlio devono essere conformi alla sintassi e alle regole descritte in Riferimento agli elementi FIELD XML. Inoltre, deve soddisfare le condizioni seguenti:

  • Il nome descrittivo e l'attributo obbligatorio refname assegnati a un WIT sono univoci all'interno del set di file di definizione WIT.
  • Il valore dell'attributo richiesto refname non contiene caratteri non consentiti o usa gli spazi dei nomi non consentiti System.Name e Microsoft.Name.
  • I nomi di riferimento contengono almeno un punto (.) e tutti gli altri caratteri sono lettere senza spazi.

Un FIELD elemento e i relativi elementi figlio possono contenere un GLOBALLIST elemento .

Limitazioni del limite

  • Un FIELDS elemento è limitato a 1.024 campi.
  • Un tipo di elemento di lavoro è limitato a 64 campi nome persona. Un campo person-name è uno con l'attributo e il valore syncnamechanges=true.
  • Un ALLOWEDVALUES elemento o SUGGESTEDVALUES è limitato a 512 LISTITEM elementi.
  • Un campo è limitato a 1.024 regole.

Campi obbligatori

Categoria Campi da specificare
Backlog di configurazione dei processi Campi usati per gli attributi e i valori type=Team e type=Order
Backlog regolare o backlog di portafoglio Campo utilizzato per type=Effort
TaskBacklog - Campo usato per type=RemainingWork
- Campo usato per type=Activity
- ALLOWEDVALUES la regola per il campo usato per type=Activity

Restrizioni delle regole

Restrizione Dettagli
Gli elementi della regola di campo non possono specificare gli attributi per e non . Questi attributi non sono consentiti negli elementi della regola campo.
FIELD gli elementi non possono contenere gli elementi delle regole figlio CANNOTLOSEVALUE, NOTSAMEAS, MATCH e PROHIBITEDVALUES. Questi elementi delle regole figlio non sono supportati all'interno degli elementi FIELD.
FIELD le definizioni per System.Name i campi non possono contenere regole di campo, ad eccezione di campi specifici. Solo alcuni campi possono contenere regole specifiche, come descritto in questo articolo.
System.Title Può contenere le regole REQUIRED e DEFAULT.
System.Description Può contenere le regole REQUIRED e DEFAULT.
System.AssignedTo Può contenere le regole REQUIRED, DEFAULT, ALLOWEXISTINGVALUEe VALIDUSER.
System.ChangedBy Può contenere le regole REQUIRED, DEFAULT, ALLOWEXISTINGVALUEe VALIDUSER.

Nomi e attributi coerenti

All'interno di un processo o di una raccolta di progetti, name, typee altri attributi definiti da un FIELD elemento devono essere uguali in tutte le definizioni di WIT.

Campi Identity

I campi Identity corrispondono ai campi usati per contenere nomi di account, utente o gruppo. I campi di sistema principali seguenti sono hardcoded come campi identity:

Nome campo Nome riferimento
Assegnato a System.AssignedTo
Autorizzato come System.AuthorizedAs
Modificato da System.ChangedBy
Creato da System.CreatedBy
Attivato da Microsoft.AzureDevOps.Common.ActivatedBy
Chiuso da Microsoft.AzureDevOps.Common.ClosedBy
Risolto da Microsoft.AzureDevOps.Common.ResolvedBy
Aggiungere un campo di identità personalizzato

Un campo stringa viene riconosciuto come campo Identity quando si specifica l'attributo syncnamechanges come True.

Restrizioni delle regole nei campi identity

Per la versione corrente dell'importazione del processo, non specificare alcuna delle regole seguenti all'interno di una FIELD definizione.

  • SUGGESTEDVALUES
  • Regole che contengono valori di non rientro.
Esempio corretto

Per limitare i nomi di account validi all'interno di un campo Identity, specificare l'elemento VALIDUSER con un attributo nome gruppo.

    <FIELD name="Project Manager" refname="Fabrikam.ProgramManager" type="String" reportable="dimension" syncnamechanges="true">
        <ALLOWEXISTINGVALUE />
        <VALIDUSER group="[PROJECT]\Program Manager Group" />
        <HELPTEXT>The program manager responsible for signing off on the user story.</HELPTEXT>
    </FIELD>

Prima di importare il processo, assicurarsi di aver creato il gruppo nei progetti che il processo aggiorna.

Esempio non corretto

L'esempio seguente non è valido perché specifica:

  • Elemento ALLOWEDVALUES.
  • Elemento DEFAULT che specifica la stringa value="Not Assigned"di non rientro .
    <FIELD name="Project Manager" refname="Fabrikam.ProgramManager" type="String" reportable="dimension" syncnamechanges="true">
        <ALLOWEXISTINGVALUE />
        <ALLOWEDVALUES>
          <LISTITEM value="[PROJECT]\Program Manager Group" />
          <LISTITEM value="Not Assigned" />
        </ALLOWEDVALUES>
        <DEFAULT from="value" value="Not Assigned" />
        <VALIDUSER />
        <HELPTEXT>The program manager responsible for signing off on the user story.</HELPTEXT>
    </FIELD>

Flusso di lavoro

Un WORKFLOW elemento e i relativi elementi figli devono essere conformi alla sintassi e alle regole descritte in Riferimento agli elementi XML del flusso di lavoro. Inoltre, deve soddisfare le condizioni seguenti:

  • Limita ogni WIT a 16 stati del flusso di lavoro
  • Definisce tutti gli stati del flusso di lavoro mappati ai metastate nel file di definizione ProcessConfiguration.xml
  • Definisce una transizione tra tutti gli stati del flusso di lavoro mappati alla categoria di stato "Proposta" e agli stati del flusso di lavoro mappati alla categoria di stato "InProgress"
  • Definisce una transizione tra tutti gli stati del flusso di lavoro mappati alla categoria di stato "InProgress" e agli stati del flusso di lavoro mappati alla categoria di stato "Completa"

Per una descrizione delle categorie e dei mapping dello stato, vedere Stati del flusso di lavoro e categorie di stato.

Elenchi globali

Per il modello di processo XML ospitato, vengono inseriti i limiti seguenti all'importazione global-list:

  • Ci sono al massimo 64 elenchi globali
  • Ci sono al massimo 1.024 elementi per elenco
  • Circa 10.000 elementi possono essere definiti in totale tra tutti gli elenchi globali specificati in tutte le reti wit

Layout del form

Un FORM elemento e i relativi elementi figlio devono essere conformi alla sintassi e alle regole descritte nel riferimento all'elemento FORM XML.

Un Control elemento non può specificare un controllo personalizzato. I controlli personalizzati non sono supportati.