Aggiungere o modificare un campo per tenere traccia del lavoro

Azure DevOps Server 2022 - Azure DevOps Server 2019

Il progetto contiene 100 o più campi dati, in base al processo usato per creare il progetto, 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 al WIT. È possibile aggiornare i dati per un elemento di lavoro modificando il campo dati all'interno di un elemento di lavoro.

Nota

Per Azure DevOps Services o per le raccolte di progetti che usano il modello di processo ereditato, vedere Aggiungere un campo personalizzato a un tipo di elemento di lavoro.

È possibile modificare un campo esistente o aggiungere un campo personalizzato per supportare il rilevamento di ulteriori requisiti di dati. Ad esempio, è possibile personalizzare l'elenco di selezione all'interno di un menu a discesa o aggiungere una regola per specificare un valore predefinito o limitare il valore che può accettare.

Non tutti gli elenchi di selezione vengono definiti nello stesso modo. Alcuni elenchi vengono definiti tramite l'interfaccia utente, il flusso di lavoro per un WIT o aggiungendo account utente a un progetto, come indicato nella tabella seguente.

Prerequisiti

  • Per elencare i campi, è necessario disporre dell'autorizzazione Visualizza informazioni a livello di progetto per il progetto nella raccolta impostata su Consenti.
  • Per aggiungere o personalizzare un campo, è necessario essere membri del gruppo Project Administrators oppure disporre dell'autorizzazione Modifica informazioni a livello di progetto impostata su Consenti.
  • Per eliminare o rinominare i campi o modificare un attributo di un campo, è necessario essere membri del gruppo di sicurezza Amministratori di Team Foundation o del gruppo di sicurezza Project Collection Administrators .

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 degli elementi di lavoro vengono usati per tenere traccia dei dati per un tipo di elemento di lavoro e per definire i criteri di filtro per le query e per generare report. Qualsiasi elemento dati, ad eccezione dei campi di sistema, che si desidera tenere traccia deve essere definito come campo dell'elemento di lavoro. È possibile definire i campi dell'elemento di lavoro all'interno della definizione di un tipo di elemento di lavoro o di un flusso di lavoro globale.

I campi dell'elemento di lavoro vengono mantenuti per una raccolta di progetti. Si aggiungono campi quando si esegue una delle attività seguenti:

  • Creare un progetto. Vengono creati tutti i campi definiti all'interno delle definizioni per i tipi di elemento di lavoro o il flusso di lavoro globale e definiti per il modello di processo selezionato. I campi di sistema principali vengono definiti automaticamente per ogni tipo di elemento di lavoro definito per un progetto. Per un elenco di questi campi, vedere Indice dei campi elemento di lavoro.

  • Importare una definizione di WIT. Tutti i nuovi campi definiti all'interno della definizione per un tipo di elemento di lavoro vengono aggiunti alla raccolta. Per altre informazioni, vedere Informazioni di riferimento su tutti gli elementi XML WITD.

  • Importare una definizione globale del flusso di lavoro. Tutti i nuovi campi definiti all'interno del flusso di lavoro globale vengono aggiunti alla raccolta. Si definisce un flusso di lavoro globale quando si desidera mantenere un set di campi di elementi di lavoro condivisi da diversi tipi di elementi di lavoro. Per altre informazioni, vedere Personalizzare il flusso di lavoro globale.

Tutti i campi definiti in tutti i flussi di lavoro wit e tutti i flussi di lavoro globali per tutti i progetti costituiscono il set completo di campi definiti all'interno della raccolta. È possibile modificare l'attributo di, rinominare ed eliminare i campi esistenti. Tuttavia, si comportano determinati costi quando si apportano questi tipi di modifiche, in particolare per il server locale e la creazione di report.

Per aggiungere o personalizzare un campo per una raccolta, modificare il contenuto XML per la definizione WIT. Definire ogni campo tramite un elemento FIELD all'interno della sezione FIELDS della definizione del WIT. Per informazioni sulla struttura e sul percorso di questi file, vedere Informazioni di riferimento su tutti gli elementi XML FIELD.

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 tipo di elemento di lavoro (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.

Riepilogo degli attributi dei campi e delle regole dei campi

Per 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.

Qualsiasi campo da usare per tenere traccia dei dati deve essere aggiunto al file di definizione WIT. Questo vale per tutti i campi ma di sistema (campi il cui nome di riferimento inizia con System.). Tutti i campi di sistema vengono definiti per tutte le connessioni WIT, indipendentemente dal fatto che siano inclusi nella definizione di WIT. Per altre informazioni su ogni campo, 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 verrà visualizzato come casella di controllo nel modulo.

Personalizzare un elenco di selezione

Gli elenchi di selezione sono i valori enumerati visualizzati all'interno di un menu a discesa in un modulo elemento di lavoro e la colonna Valore nell'editor di query. Il metodo usato per personalizzare un elenco di selezione varia a seconda del campo.

Per modificare l'elenco di selezione per la maggior parte dei campi stringa o integer all'interno di un modulo dell'elemento di lavoro, modificare la definizione del WIT. Ad esempio, per aggiungere un campo di risoluzione personalizzato e un elenco a discesa, specificare il codice XML come illustrato.

Campo personalizzato e elenco di selezione
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 supportano la combinazione di elenchi, la limitazione alle quali viene applicato un elenco e l'impostazione delle condizioni quando viene visualizzato un elenco nel modulo dell'elemento di lavoro. Le regole controllano se una lista di distribuzione viene espansa per visualizzare i singoli membri o un elenco viene filtrata usando gli attributi expanditems e filteritems facoltativi. Usare elenchi globali per ridurre al minimo il lavoro necessario per aggiornare un elenco condiviso tra wit o progetti.

Quando si usa un elenco in diverse reti WIT o in più progetti, mantenerlo come elenco globale riduce al minimo i requisiti di manutenzione. Inoltre, se è necessario che parti di elenchi siano visualizzate come diverse tra wit o progetti, è possibile definire un elenco globale per parte di una lista di selezione. Vedere Definire elenchi di selezione e Definire elenchi globali.

Aggiungere regole a un campo

Per aggiungere un campo personalizzato o aggiungere regole a un campo, modificare la definizione del WIT. È possibile limitare le regole da applicare a utenti o gruppi specifici. La maggior parte delle regole supporta gli attributi per o meno per concentrarsi sull'utente a cui fa la regola e non si applica.

Ad esempio, con il frammento di codice seguente, è possibile applicare la regola che solo i membri del team di gestione, un gruppo TFS definito dal cliente, 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>  

Si applicano regole per eseguire le azioni seguenti:

Per eseguire questa azione: Utilizzare questo elemento XML:
Specificare una descrizione comando. HELPTEXT
Qualificare il valore che un campo può avere. CANNOTLOSEVALUE, EMPTY, FROZEN, NOTSAMEAS, READONLY e REQUIRED
Copiare un valore o specificare un valore predefinito. COPY, DEFAULT e SERVERDEFAULT
Limitare gli utenti autorizzati a modificare un campo. VALIDUSER, per e non attributi delle regole di campo
Applicare la corrispondenza dei criteri in un campo stringa. MATCH
Applicare in modo condizionale regole in base ai valori in altri campi. WHEN, WHENNOT, WHENCHANGED e WHENNOTCHANGED

I campi di sistema, i cui nomi iniziano tutti con il prefisso "System", ad esempio System.ID, sono limitati in termini di regole che è possibile applicare a tali campi. Ad esempio, non è possibile copiare o impostare campi vuoti usati per tenere traccia di chi ha creato, modificato o chiuso un elemento di lavoro o campi di data e ora usati dal sistema.

Per altre informazioni sull'applicazione di regole di campo e restrizioni, vedere Regole e valutazione delle regole.

Per 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

    La definizione dello schema per il rilevamento del lavoro definisce tutti gli elementi figlio dell'elemento FORM come case camel e tutti gli altri elementi come maiuscoli. Se si verificano errori durante la convalida dei file di definizione del tipo, controllare la struttura del case degli elementi. Inoltre, la struttura del case dei tag di apertura e chiusura deve corrispondere in base alle regole per la sintassi XML. 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.

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

    Nuovo campo nel modulo

Per 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 Control Label . 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. FORM Nelle sezioni 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, modificare e trovare a livello di codice bug, attività e altri tipi di windows. È anche possibile creare controlli personalizzati che aggiungono funzionalità a un modulo dell'elemento di lavoro.

In alternativa, è possibile aggiungere un controllo personalizzato disponibile tramite Visual Studio Marketplace. Ad esempio:

  • Controllo multivalore che supporta l'input di più valori per un campo visualizzando un elenco di caselle di controllo
  • Controllo elenco a colori che supporta l'aggiunta di colore agli elementi elenco di selezione
  • L'elemento di lavoro costituisce azioni di un clic che fornisce un'estensione di gruppo con un set personalizzabile di regole che supportano un'azione con un clic.

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/tfs/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 descrittivo 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 descrittivo 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

È possibile abilitare l'indicizzazione per un campo per migliorare i tempi di risposta delle query durante il filtro sul campo. Per impostazione predefinita, i campi seguenti sono indicizzati: Assegnato a, Data creazione, Modifica per, 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 tipo specifico di elemento di lavoro, tale campo non viene rimosso dalla raccolta o dal server di database, anche se non viene più fatto riferimento da alcun WIT. Per rimuovere 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. Eliminare 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

Diversi tipi di elementi di lavoro contengono campi che forniscono informazioni generate da processi automatizzati che si integrano con Team Foundation Build, Microsoft Test Manager e controllo della versione di Team Foundation. Per aggiungere uno di questi campi alle wit personalizzate, modificare la definizione del WIT in base ai passaggi descritti in precedenza in questo argomento.

Ad esempio, è possibile aggiungere i campi Trovato in e Integrato in Compilazione visualizzati nelle definizioni dei tipi per i bug. Questi campi associano bug alle compilazioni in cui sono stati trovati o corretti. È possibile usare il frammento di codice seguente per aggiungere questi campi a una definizione del tipo di elemento di lavoro.

<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 altre informazioni, vedere Eseguire 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 sono raggruppati logicamente in cartelle. Per altre informazioni, vedere Aggiungere o modificare i campi dell'elemento di lavoro per supportare la creazione di report.

Questo articolo ha illustrato come aggiungere e personalizzare campi per i modelli di processo XML ospitati e XML locali. Per informazioni sull'aggiunta e la personalizzazione dei tipi di elemento di lavoro per i modelli di processo XML ospitati e XML locali, vedere Aggiungere o modificare un tipo di elemento di lavoro. Per il modello di processo di ereditarietà, vedere Personalizzare un processo.

Altri argomenti o risorse correlati: