Condividi tramite


Aggiungere o modificare un campo per tenere traccia del lavoro

Azure DevOps Server 2022 - Azure DevOps Server 2019

Il progetto include 100 o più campi dati, a seconda del processo usato per crearlo, ad esempio Agile, Basic, Scrum o CMMI. Ogni elemento di lavoro è associato a un tipo di elemento di lavoro (WIT) e i dati che è possibile tenere traccia corrispondono ai campi assegnati a tale WIT. È possibile aggiornare i dati degli elementi di lavoro modificando il campo dati all'interno di un elemento di lavoro.

Nota

Se si usa il modello di processo ereditato, vedere Aggiungere un campo personalizzato a un tipo di elemento di lavoro.

È possibile modificare i campi esistenti o aggiungere campi personalizzati per tenere traccia di più dati. Ad esempio, è possibile personalizzare un elenco di selezione in un menu a discesa, impostare un valore predefinito o limitare i valori che un campo può accettare.

Gli elenchi di selezione vengono definiti in modi diversi, ad esempio tramite l'interfaccia utente, i flussi di lavoro WIT o aggiungendo account utente a un progetto, come illustrato nella tabella seguente.

Definizione di WIT Modifica della riga di comando (processo XML locale)
- Personalizzare un elenco di selezione
- Aggiungere regole a un campo
- Aggiungere un campo personalizzato
- Modificare l'etichetta del campo nel modulo
- Aggiungere un controllo personalizzato
- Campi dell'elenco
- Modificare un attributo di campo
- Eliminare un campo
- Indicizzare un campo

Prerequisiti

Categoria Requisiti
Campi della lista Disporre dell'autorizzazione Visualizza informazioni a livello di progetto impostata su Consenti per il progetto presente nella raccolta.
Aggiungere o personalizzare un campo Essere membri del gruppo Project Administrators o disporre dell'autorizzazione Modifica informazioni a livello di progetto impostata su Consenti.
Eliminare, rinominare o modificare un campo Essere membri del gruppo di sicurezza degli amministratori di Team Foundation o del gruppo di sicurezza degli amministratori della raccolta di progetti.

Per essere aggiunto come amministratore, modificare le autorizzazioni a livello di raccolta del progetto.

Metodi in base ai quali vengono aggiunti i campi dell'elemento di lavoro

I campi dell'elemento di lavoro tengono traccia dei dati per un tipo di elemento di lavoro, definiscono i criteri di filtro delle query e generano report. Qualsiasi elemento dati che si desidera tenere traccia, ad eccezione dei campi di sistema, deve essere definito come campo dell'elemento di lavoro. È possibile definire campi all'interno di un tipo di elemento di lavoro (WIT) o di una definizione globale del flusso di lavoro.

I campi dell'elemento di lavoro vengono mantenuti a livello di raccolta del progetto e vengono aggiunti negli scenari seguenti:

  • Creazione di un progetto: vengono creati campi definiti nel modello di processo selezionato per i flussi di lavoro wit o globali. I campi di sistema principali vengono inclusi automaticamente per ogni tipo di elemento di lavoro. Per un elenco dei campi di sistema di base, vedere Indice dei campi dell'elemento di lavoro. Per altre informazioni sui modelli, vedere Elaborare i modelli.
  • Importazione di una definizione di WIT: nuovi campi definiti nella definizione del WIT vengono aggiunti alla raccolta. Per altre informazioni, vedere Informazioni di riferimento su tutti gli elementi XML WITD.
  • Importazione di una definizione globale del flusso di lavoro: alla raccolta vengono aggiunti nuovi campi definiti nel flusso di lavoro globale. I flussi di lavoro globali consentono campi condivisi tra più tipi di elemento di lavoro. Per informazioni dettagliate, vedere Personalizzare il flusso di lavoro globale .

Il set completo di campi in una raccolta include tutti i campi definiti in WIT e flussi di lavoro globali in tutti i progetti. È possibile modificare attributi, rinominare o eliminare campi, ma queste modifiche potrebbero influire sui server e sui report locali.

Per aggiungere o personalizzare un campo, modificare il contenuto XML della definizione WIT. Definire ogni campo usando un elemento FIELD all'interno della sezione FIELDS . Per altre informazioni, vedere Informazioni di riferimento su tutti gli elementi FIELD XML.

Aggiungere un campo, applicare una regola o modificare un attributo

Per aggiungere un campo personalizzato, aggiungere regole di campo o modificare l'etichetta di un campo in un modulo dell'elemento di lavoro, modificare il WIT o i tipi che usano il campo. Seguire la sequenza di personalizzazione corrispondente al modello di processo.

Per modificare un attributo di campo o rinominare un campo, usare lo strumento da riga di comando witadmin . In caso contrario, per modificare un campo, aggiungere o modificare le regole associate al campo all'interno di una definizione di WIT.

Schermata del riepilogo degli attributi e delle regole dei campi.

Modificare un file di definizione WIT

Per aggiungere regole o aggiungere un campo personalizzato, esportare, modificare e quindi importare il file di definizione WIT.

Suggerimento

Con witadmin è possibile importare ed esportare file di definizione. Altri strumenti che è possibile usare includono l'editor di processi (richiede l'installazione di una versione di Visual Studio). Installare l'editor dei modelli di processo da Visual Studio Marketplace.

Per tenere traccia dei dati, aggiungere il campo al file di definizione WIT, ad eccezione dei campi di sistema, che sono campi con un nome di riferimento che inizia con System.. I campi di sistema vengono definiti automaticamente per tutte le connessioni WIT, anche se non sono inclusi nella definizione del WIT. Per informazioni dettagliate, vedere Indice dei campi dell'elemento di lavoro.

Aggiungere una casella di controllo o un campo booleano

Usare la sintassi seguente per aggiungere un campo booleano all'interno della sezione FIELDS della definizione del WIT.

<FIELD name="Triage" refname="Fabrikam.Triage" type="Boolean" >
   <DEFAULT from="value" value="False" />
   <HELPTEXT>Triage work item</HELPTEXT>
</FIELD>

Aggiungere quindi la sintassi seguente all'interno della sezione FORM per visualizzare il campo nel modulo.

<Control Label="Triage" Type="FieldControl" FieldName="Fabrikam.Triage" />

Il campo viene visualizzato come casella di controllo nel modulo.

Personalizzare un elenco di selezione

Gli elenchi di selezione sono valori enumerati visualizzati nei menu a discesa nei moduli degli elementi di lavoro e nella colonna Valore dell'editor di query. Per personalizzare un elenco di selezione per la maggior parte dei campi stringa o integer, modificare la definizione del WIT. Ad esempio, utilizzare il codice XML seguente per aggiungere un campo di risoluzione personalizzato con un elenco di selezione.

Campo personalizzato e elenco di selezione
Screenshot che mostra un elenco di selezione personalizzato.

<FIELD name="Resolution" refname="MyCompany.Resolution" type="String">    
<ALLOWEDVALUES>
   <LISTITEM value="By Design" />
   <LISTITEM value="Duplicate" />
   <LISTITEM value="External" />
   <LISTITEM value="Fixed" />
   <LISTITEM value="Not Repro" />
   <LISTITEM value="Postponed" />
   <LISTITEM value="Won't Fix" />
</ALLOWEDVALUES>
</FIELD>

Le regole consentono di combinare elenchi, limitare chi può accedere a un elenco e impostare le condizioni per quando viene visualizzato un elenco nel modulo dell'elemento di lavoro. È possibile utilizzare gli attributi expanditems e filteritems per controllare se una lista di distribuzione mostra singoli membri o filtra elementi specifici.

Per semplificare la manutenzione, utilizzare elenchi globali per elenchi condivisi tra WIT o progetti. Gli elenchi globali riducono il lavoro richiesto per aggiornare gli elenchi condivisi. Se parti di un elenco devono differire tra wit o progetti, è possibile definire un elenco globale per parti specifiche di un elenco di selezione. Per altre informazioni, vedere Definire elenchi di selezione e Definire elenchi globali.

Aggiungere regole a un campo

Per aggiungere un campo personalizzato o applicare regole a un campo, modificare la definizione del WIT. È possibile limitare le regole a utenti o gruppi specifici usando gli attributi per o meno per definire a chi si applica o esclude la regola.

Ad esempio, il frammento di codice seguente applica una regola che solo i membri del team di gestione, un gruppo personalizzato, possono modificare il campo Stack Rank dopo la creazione di un elemento di lavoro:

<FIELD name="Stack Rank" refname="Microsoft.VSTS.Common.StackRank" type="Double" reportable="dimension">  
   <FROZEN not="[project]\Management Team" />  
   <HELPTEXT>Work first on items with lower-valued stack rank. Set in triage.</HELPTEXT>
</FIELD>  

È possibile applicare regole ai campi per ottenere le azioni seguenti:

Azione Elemento XML
Aggiungere un suggerimento a un campo. HELPTEXT
Definire o limitare i valori che un campo può avere. CANNOTLOSEVALUE, EMPTY, FROZEN, NOTSAMEAS, READONLY, REQUIRED
Copiare un valore o impostare un valore predefinito per un campo. COPY, DEFAULT, SERVERDEFAULT
Limitare gli utenti autorizzati a modificare un campo. VALIDUSER, per, non
Applicare la corrispondenza dei modelli ai campi stringa. PARTITA
Applicare regole in modo condizionale in base ad altri valori di campo. WHEN, WHENNOT, WHENCHANGED, WHENNOTCHANGED

I campi di sistema, identificati dal prefisso "System", ad esempio System.ID, consentono la personalizzazione limitata delle regole. Ad esempio, non è possibile copiare o cancellare campi che tengono traccia di chi ha creato, modificato o chiuso un elemento di lavoro o campi di data e ora gestiti dal sistema.

Per informazioni dettagliate sulle regole e sulle restrizioni sul campo, vedere Regole e valutazione delle regole.

Aggiungere un campo personalizzato

Per aggiungere un campo personalizzato, modificare la definizione WIT per aggiungere un elemento FIELD all'interno della sezione FIELDS e un elemento Control all'interno della sezione FORM .

  1. Esportare il file di definizione WIT in base al modello di processo usato.

  2. Individuare la sezione del file XML che inizia con FIELDS.

  3. Aggiungere l'elemento FIELD che specifica il nome del campo personalizzato da aggiungere. È necessario specificare gli attributi obbligatori seguenti: friendly name, refname (nome riferimento) e type. Per altre informazioni, vedere Informazioni di riferimento sugli elementi FIELD (Definizione).

    Il codice seguente specifica il campo personalizzato Requestor, con un nome di riferimento e FabrikamFiber.MyTeam.Requestor un elenco di selezione dei valori consentiti, con il valore predefinito Customer.

    <FIELD name="Requestor" refname="FabrikamFiber.MyTeam.Requestor" type="String" reportable="Dimension">
       <ALLOWEDVALUES>
          <LISTITEM value="Customer" />
          <LISTITEM value="Executive Management" />
          <LISTITEM value="Other" />
          <LISTITEM value="Support" />
          <LISTITEM value="Team" />
          <LISTITEM value="Technicians" />
          <DEFAULTVALUE value="Customer" />
        </ALLOWEDVALUES>
    </FIELD>
    

    Suggerimento

    Gli elementi all'interno dell'elenco vengono sempre visualizzati in ordine alfanumerico, indipendentemente dalla modalità di immissione nel file di definizione XML. Il nome di riferimento, o refname, è il nome programmatico per il campo. Tutte le altre regole devono fare riferimento a refname. Per altre informazioni, vedere Limitazioni e convenzioni di denominazione.

  4. Aggiungere l'elemento Control all'interno della FORM sezione in modo che il campo personalizzato venga visualizzato nel modulo all'interno del gruppo di elementi in cui si desidera che venga visualizzato.

    Ad esempio, il frammento di codice seguente aggiunge il campo Richiedente da visualizzare sotto il campo Motivo nel modulo dell'elemento di lavoro.

    <Column PercentWidth="50">
       <Group Label="Status">
          <Column PercentWidth="100">
             <Control FieldName="System.AssignedTo" Type="FieldControl" Label="Assi&amp;gned To:" LabelPosition="Left" />
             <Control FieldName="System.State" Type="FieldControl" Label="&amp;State:" LabelPosition="Left" />
             <Control FieldName="System.Reason" Type="FieldControl" Label="Reason:" LabelPosition="Left" ReadOnly="True" />
             <Control FieldName="FabrikamFiber.MyTeam.Requestor" Type="FieldControl" Label="Requestor:" LabelPosition="Left" ReadOnly="True" />
          </Column>
       </Group>
    </Column>
    

    Suggerimento

    Nella definizione dello schema per il tracciamento del lavoro, tutti gli elementi figlio dell'elemento FORM devono usare il camel case, mentre tutti gli altri elementi devono essere in maiuscolo. Verificare che la struttura maiuscolo/minuscolo dei tag di apertura e di chiusura corrisponda alle regole della sintassi XML per evitare errori di convalida. Per altre informazioni, vedere Informazioni di riferimento sugli elementi XML di controllo.

  5. Importare il file di definizione WIT in base al modello di processo usato.

  6. Aprire il portale Web o Team Explorer per visualizzare le modifiche. Se il client è già aperto, aggiornare la pagina.

    L'illustrazione seguente mostra che il modulo dell'elemento di lavoro per l'elemento del backlog di prodotto ora contiene il nuovo campo.

    Screenshot che mostra il nuovo campo del modulo.

Modificare l'etichetta del campo in un modulo dell'elemento di lavoro

Per modificare l'etichetta del campo, modificare il valore assegnato all'attributo dell'elemento ControlLabel . Per rimuovere un campo dal modulo dell'elemento di lavoro, eliminare l'elemento Control associato al campo.

  1. Esportare il file di definizione del WIT in base al modello di processo.

  2. Nelle sezioni FORM e Layout, trovare la definizione del campo da modificare. In questo esempio viene modificata l'etichetta per il campo Titolo :

    <Column PercentWidth="70">  
       <Control Type="FieldControl" FieldName="System.Title" Label="Title" LabelPosition="Left" />  
    </Column>
    
  3. Modificare l'etichetta per il campo in modo che la succursale portoghese che lavora su questo particolare progetto possa leggere il nome del campo Titolo quando lavorano con il modulo dell'elemento di lavoro. Includere la parola portoghese per il titolo (Titulo) nel campo Titolo.

    <Column PercentWidth="70">  
       <Control Type="FieldControl" FieldName="System.Title" Label="Title (Titulo):" LabelPosition="Left" />  
    </Column>
    
  4. Importare la definizione del WIT modificato.

Aggiungere un controllo personalizzato

Usando le API REST per tenere traccia degli elementi di lavoro, è possibile creare, aggiornare e trovare bug, attività e altri tipi di elementi di lavoro a livello di codice. Inoltre, è possibile creare controlli personalizzati per migliorare la funzionalità di un modulo di un elemento di lavoro.

In alternativa, è possibile usare controlli personalizzati disponibili tramite Visual Studio Marketplace, ad esempio:

Per aggiungere un controllo personalizzato al nuovo modulo Web, vedere Elementi WebLayout e Control.

Modificare un attributo di un campo esistente

Usare witadmin changefield per modificare gli attributi di un campo esistente. Ad esempio, il comando seguente modifica il nome descrittivo definito per MyCompany.Type in Metodo di valutazione.

witadmin changefield /collection:http://AdventureWorksServer:8080/ DefaultCollection/n:MyCompany.Type /name:"Evaluation Method"

La tabella seguente riepiloga gli attributi che è possibile modificare usando witadmin changefield.

Attributo Descrizione
Tipo di dati Specifica il tipo di dati accettati dal campo. In generale, non è possibile modificare il tipo di dati del campo dopo che è stato definito. È possibile cambiare il tipo di dati del campo solo per i campi di tipo HTML o PlainText.
Nome amichevole Il nome descrittivo viene visualizzato nei menu a discesa delle query degli elementi di lavoro e deve essere univoco in tutti i campi definiti all'interno di una raccolta di progetti. Il nome descrittivo può essere diverso dall'etichetta del modulo visualizzata nel modulo dell'elemento di lavoro.
Attributi di creazione di report È possibile modificare il nome del campo come visualizzato in un report, il nome del riferimento al report e il tipo di report. È possibile localizzare il nome user-friendly dei report.

Il tipo di report determina se i dati del campo vengono scritti nel database del warehouse relazionale, sia nel database del data warehouse relazionale che nel cubo OLAP o per generare una somma precalcolata di valori durante l'elaborazione del cubo OLAP.

Per un elenco completo dei campi reportabili predefiniti, vedere Riferimenti ai campi reportabili. Per altre informazioni sugli attributi segnalabili, vedere Campi e attributi dell'elemento di lavoro, Attributi segnalabili.
Sincronizzazione È possibile abilitare o disabilitare la sincronizzazione per i campi nome utente con Active Directory.

Modificare l'attributo di indice di un campo

Abilitare l'indicizzazione per un campo per migliorare i tempi di risposta delle query durante il filtro. Per impostazione predefinita, i campi seguenti sono indicizzati: Assegnato a, Data creazione, Modificato da, Stato, Motivo, ID area, ID iterazione e Tipo di elemento di lavoro.

Per abilitare o disabilitare l'indicizzazione per un campo, usare il comando witadmin indexfield.

Eliminare un campo

Quando si rimuove un campo da un WIT specifico, il campo rimane nella raccolta o nel server di database, anche se non viene più fatto riferimento da alcun WIT. Per rimuovere completamente un campo, seguire questa procedura.

  1. Rimuovere la FIELD definizione da tutte le definizioni di WIT e da tutti i flussi di lavoro globali che vi fanno riferimento.

  2. Verificare che il campo non sia in uso. Ad esempio:

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomContact
    
    Field: MyCompany.CustomContact
    Name: Custom Contact
    Type: String
    Reportable As: dimension
    Use: Not In Use
    Indexed: False
    
  3. Cancella il campo. Ad esempio:

    witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomContact
    
  4. Se il campo eliminato è reportabile e il progetto usa SQL Server Reporting Services, ricompilare il data warehouse per ripulire il campo precedente e i relativi valori.

Per altre informazioni, vedere Gestire i campi degli elementi di lavoro.

Campi di test, compilazione e controllo della versione

Alcuni tipi di elementi di lavoro includono i campi generati da processi automatizzati che si integrano con Team Foundation Build, Microsoft Test Manager e il controllo della versione di Team Foundation. Per aggiungere questi campi ai tipi di elementi di lavoro personalizzati (WIT), modificare la definizione di WIT seguendo i passaggi descritti in precedenza.

Ad esempio, è possibile aggiungere i campi Trovato in e Integrato nella compilazione , che associano bug alle compilazioni in cui sono stati trovati o corretti. Usare il frammento di codice seguente per includere questi campi in una definizione di WIT:

<FIELD name="Found In" refname="Microsoft.VSTS.Build.FoundIn" type="String" reportable="dimension">
    <HELPTEXT>Product build number (revision) in which this item was found</HELPTEXT>
</FIELD>
<FIELD name="Integration Build" refname="Microsoft.VSTS.Build.IntegrationBuild" type="String" reportable="dimension">
    <HELPTEXT>Product build number this bug was fixed in</HELPTEXT>
</FIELD>

Per ulteriori informazioni, vedere Query basate su campi di integrazione di compilazione e test.

Nomi dei campi e creazione di report

È possibile aggiungere campi o modificare gli attributi dei campi esistenti per supportare la creazione di report. Quando si aggiungono o si modificano campi, è necessario denominarli sistematicamente in modo che sia possibile trovare il campo nel cubo di Analysis Services perché i campi vengono raggruppati logicamente in cartelle. Per altre informazioni, vedere Aggiungere o modificare i campi dell'elemento di lavoro per supportare la creazione di report.