Freigeben über


Hinzufügen oder Ändern eines Felds für die Arbeitsnachverfolgung

Azure DevOps Server | Azure DevOps Server 2022

Ihr Projekt umfasst 100 oder mehr Datenfelder, je nachdem, wie es zum Erstellen verwendet wurde, z. B. Agile, Basic, Scrum oder CMMI. Jede Arbeitsaufgabe ist an einen Arbeitsaufgabentyp (WIT) gebunden, und die Daten, die Sie nachverfolgen können, entsprechen den Feldern, die diesem WIT zugewiesen sind. Sie können Arbeitsaufgabendaten aktualisieren, indem Sie das Datenfeld innerhalb einer Arbeitsaufgabe ändern.

Hinweis

Wenn Sie das geerbte Prozessmodell verwenden, lesen Sie Hinzufügen eines benutzerdefinierten Felds zu einem Arbeitsaufgabentyp.

Sie können vorhandene Felder ändern oder benutzerdefinierte Felder hinzufügen, um weitere Daten nachzuverfolgen. Sie können beispielsweise eine Auswahlliste in einem Dropdownmenü anpassen, einen Standardwert festlegen oder die Werte einschränken, die ein Feld akzeptieren kann.

Die Auswahllisten werden auf unterschiedliche Weise definiert, z. B. über die Benutzeroberfläche, WIT-Workflows oder durch Hinzufügen von Benutzerkonten zu einem Projekt, wie in der folgenden Tabelle dargestellt.

WIT-Definition Befehlszeilenänderung (lokaler XML-Prozess)
- Anpassen einer Auswahlliste
- Hinzufügen von Regeln zu einem Feld
- Hinzufügen eines benutzerdefinierten Felds
- Ändern der Feldbezeichnung im Formular
- Hinzufügen eines benutzerdefinierten Steuerelements
- Listenfelder
- Ändern eines Feldattributs
- Löschen eines Felds
- Indizieren eines Felds

Voraussetzungen

Kategorie Anforderungen
Listenfelder Haben Sie im Projekt der Sammlung die Berechtigung "Informationen auf Projektebene anzeigen" auf "Zulassen" gesetzt.
Hinzufügen oder Anpassen eines Felds Mitglied der Gruppe "Projektadministratoren " sein oder die Berechtigung "Informationen auf Projektebene bearbeiten " auf "Zulassen" festlegen lassen.
Löschen, Umbenennen oder Ändern eines Felds Mitglied der Sicherheitsgruppe "Team Foundation-Administratoren " oder der Sicherheitsgruppe "Projektsammlungsadministratoren ".

Um als Administrator hinzugefügt zu werden, ändern Sie Berechtigungen auf Projektsammlungsebene.

Methoden, nach denen Arbeitsaufgabenfelder hinzugefügt werden

Arbeitselementfelder verfolgen Daten für einen Arbeitsaufgabentyp, definieren Abfragefilterkriterien und generieren Berichte. Jedes Datenelement, das Sie nachverfolgen möchten, mit Ausnahme von Systemfeldern, muss als Arbeitselementfeld definiert werden. Sie können Felder innerhalb eines Arbeitsaufgabentyps (WIT) oder einer globalen Workflowdefinition definieren.

Arbeitsfelder werden auf der Ebene der Projektsammlung verwaltet und in den folgenden Szenarien hinzugefügt:

  • Erstellen eines Projekts: Felder, die in der ausgewählten Prozessvorlage für WITs oder globale Workflows definiert sind, werden erstellt. Kernsystemfelder werden automatisch für jeden Arbeitsaufgabentyp eingeschlossen. Eine Liste der Kernsystemfelder finden Sie unter Arbeitselementfeldindex. Weitere Informationen zu Vorlagen finden Sie unter Prozessvorlagen.
  • Importieren einer WIT-Definition: Neue felder, die in der WIT-Definition definiert sind, werden der Auflistung hinzugefügt. Weitere Informationen finden Sie in der Referenz zu allen WITD-XML-Elementen.
  • Importieren einer globalen Workflowdefinition: Neue felder, die im globalen Workflow definiert sind, werden der Auflistung hinzugefügt. Globale Workflows ermöglichen gemeinsame Felder über mehrere Arbeitsaufgabentypen hinweg. Details finden Sie unter Anpassen des globalen Workflows .

Der vollständige Satz von Feldern in einer Auflistung enthält alle Felder, die in WITs und globalen Workflows für alle Projekte definiert sind. Sie können Attribute ändern, Umbenennen oder Löschen von Feldern, diese Änderungen wirken sich jedoch möglicherweise auf lokale Server und Berichte aus.

Um ein Feld hinzuzufügen oder anzupassen, bearbeiten Sie den XML-Inhalt der WIT-Definition. Definieren Sie jedes Feld mithilfe eines FIELD-Elements im Abschnitt "FIELDS ". Weitere Informationen finden Sie unter "All FIELD XML elements reference".

Hinzufügen eines Felds, Anwenden einer Regel oder Ändern eines Attributs

Um ein benutzerdefiniertes Feld hinzuzufügen, Feldregeln hinzuzufügen oder die Beschriftung eines Felds in einem Arbeitselementformular zu ändern, ändern Sie das WIT oder die Typen, die das Feld verwenden. Folgen Sie der Anpassungssequenz , die Ihrem Prozessmodell entspricht.

Verwenden Sie das Befehlszeilentool witadmin , um ein Feldattribute zu ändern oder ein Feld umzubenennen. Andernfalls fügen Sie zum Ändern eines Felds die regeln hinzu, die dem Feld innerhalb einer WIT-Definition zugeordnet sind.

Screenshot: Zusammenfassung der Feldattribute und Feldregeln.

Bearbeiten einer WIT-Definitionsdatei

Um Regeln hinzuzufügen oder ein benutzerdefiniertes Feld hinzuzufügen, exportieren, bearbeiten und importieren Sie dann die WIT-Definitionsdatei.

Tipp

Mit witadmin können Sie Definitionsdateien importieren und exportieren. Weitere Tools, die Sie verwenden können, sind der Prozess-Editor (erfordert, dass Sie eine Version von Visual Studio installiert haben). Installieren Sie den Prozessvorlagen-Editor aus dem Visual Studio Marketplace.

Zum Nachverfolgen von Daten fügen Sie das Feld zur WIT-Definitionsdatei hinzu, mit Ausnahme von Systemfeldern, bei denen es sich um Felder mit einem Verweisnamen handelt, der mit System beginnt. Systemfelder werden automatisch für alle WITs definiert, auch wenn sie nicht in der WIT-Definition enthalten sind. Weitere Informationen finden Sie unter Arbeitselementfeldindex.

Hinzufügen eines Kontrollkästchens oder eines booleschen Felds

Verwenden Sie die folgende Syntax, um ein boolesches Feld im Abschnitt "FIELDS" der WIT-Definition hinzuzufügen.

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

Fügen Sie dann die folgende Syntax innerhalb des FORMULARabschnitts hinzu, damit das Feld im Formular angezeigt wird.

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

Das Feld wird als Kontrollkästchen im Formular angezeigt.

Anpassen einer Auswahlliste

Auswahllisten sind aufgezählte Werte, die in Dropdownmenüs in Arbeitsaufgabenformularen und in der Spalte "Wert " des Abfrage-Editors angezeigt werden. Um eine Auswahlliste für die meisten Zeichenfolgen- oder ganzzahligen Felder anzupassen, bearbeiten Sie die WIT-Definition. Verwenden Sie z. B. den folgenden XML-Code, um ein benutzerdefiniertes Auflösungsfeld mit einer Auswahlliste hinzuzufügen.

Benutzerdefiniertes Feld und Auswahlliste
Screenshot einer benutzerdefinierten Auswahlliste.

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

Mithilfe von Regeln können Sie Listen kombinieren, einschränken, wer auf eine Liste zugreifen kann, und Bedingungen festlegen, wann eine Liste im Arbeitsaufgabenformular angezeigt wird. Mit den Attributen "expanditems" und "filteritems " können Sie steuern, ob eine Verteilerliste einzelne Elemente anzeigt oder bestimmte Elemente filtert.

Um die Wartung zu vereinfachen, verwenden Sie globale Listen für freigegebene Listen über WITs oder Projekte hinweg. Globale Listen verringern den Aufwand, der zum Aktualisieren freigegebener Listen erforderlich ist. Wenn Teile einer Liste über WITs oder Projekte hinweg unterschiedlich sein müssen, können Sie eine globale Liste für bestimmte Teile einer Auswahlliste definieren. Weitere Informationen finden Sie unter Definieren von Auswahllisten und Definieren globaler Listen.

Hinzufügen von Regeln zu einem Feld

Um ein benutzerdefiniertes Feld hinzuzufügen oder Regeln auf ein Feld anzuwenden, bearbeiten Sie die WIT-Definition. Sie können Regeln auf bestimmte Benutzer oder Gruppen beschränken, indem Sie die Attribute for oder not verwenden, um zu definieren, für wen die Regel gilt oder ausgeschlossen ist.

Der folgende Codeausschnitt erzwingt beispielsweise eine Regel, die nur Mitglieder des Verwaltungsteams, eine benutzerdefinierte Gruppe, das Stack Rank-Feld ändern kann, nachdem eine Arbeitsaufgabe erstellt wurde:

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

Sie können Regeln auf Felder anwenden, um die folgenden Aktionen zu erreichen:

Maßnahme XML-Element
Fügen Sie einem Feld eine QuickInfo hinzu. HELPTEXT
Definieren oder Einschränken der Werte, die ein Feld haben kann. CANNOTLOSEVALUE, EMPTY, FROZEN, NOTSAMEAS, READONLY, REQUIRED
Kopieren Sie einen Wert, oder legen Sie einen Standardwert für ein Feld fest. COPY, DEFAULT, SERVERDEFAULT
Einschränken, wer ein Feld ändern kann. VALIDUSER, für, nicht
Musterabgleich für Zeichenfolgenfelder erzwingen. SPIEL
Regeln bedingt basierend auf anderen Feldwerten anwenden. WHEN, WHENNOT, WHENCHANGED, WHENNOTCHANGED

Systemfelder, die durch das Präfix "System" identifiziert werden, z. B. System.ID, ermöglichen eingeschränkte Regelanpassungen. Sie können z. B. keine Felder kopieren oder löschen, die nachverfolgen, wer eine Arbeitsaufgabe erstellt, geändert oder geschlossen hat, oder vom System verwaltete Datum-Uhrzeit-Felder.

Ausführliche Informationen zu Feldregeln und Einschränkungen finden Sie unter Regeln und Regelauswertung.

Hinzufügen eines benutzerdefinierten Felds

Wenn Sie ein benutzerdefiniertes Feld hinzufügen möchten, bearbeiten Sie die WIT-Definition, um ein FIELD-Element im Abschnitt "FIELDS " und ein Control-Element im FORMULAR-Abschnitt hinzuzufügen.

  1. Exportieren Sie die WIT-Definitionsdatei basierend auf dem verwendeten Prozessmodell.

  2. Suchen Sie den Abschnitt der XML-Datei, die mit FIELDS.

  3. Fügen Sie das FIELD Element hinzu, das den Namen des hinzuzufügenden benutzerdefinierten Felds angibt. Sie müssen die folgenden erforderlichen Attribute angeben: anzeige, namerefname (Verweisname) und type. Weitere Informationen finden Sie unter FIELD (Definition)-Elementreferenz.

    Der folgende Code gibt das benutzerdefinierte Feld, den Requestor, mit einem Verweisnamen FabrikamFiber.MyTeam.Requestor und einer Auswahlliste zulässiger Werte, mit dem Standardwert von Customer an.

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

    Tipp

    Elemente innerhalb der Liste werden immer in alphanumerischer Reihenfolge angezeigt, unabhängig davon, wie Sie sie in die XML-Definitionsdatei eingeben. Der Verweisname oder refnameder programmgesteuerte Name des Felds. Alle anderen Regeln sollten auf die refname. Weitere Informationen finden Sie unter Benennungseinschränkungen und -konventionen.

  4. Fügen Sie das Control Element innerhalb des FORM Abschnitts hinzu, sodass das benutzerdefinierte Feld im Formular innerhalb der Gruppe von Elementen angezeigt wird, in der sie angezeigt werden soll.

    Der folgende Codeausschnitt fügt z. B. das Feld "Requestor" hinzu, das unterhalb des Felds "Grund" im Arbeitselementformular angezeigt wird.

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

    Tipp

    In der Schemadefinition für die Arbeitsnachverfolgung müssen alle untergeordneten Elemente des FORM-Elements camel case verwenden, während alle anderen Elemente in Großbuchstaben sein müssen. Stellen Sie sicher, dass die Fallstruktur des Öffnens und Schließens von Tags MIT XML-Syntaxregeln übereinstimmt, um Überprüfungsfehler zu vermeiden. Weitere Informationen finden Sie unter Steuerelement-XML-Elementreferenz.

  5. Importieren Sie die WIT-Definitionsdatei gemäß dem verwendeten Prozessmodell.

  6. Öffnen Sie entweder das Webportal oder Team Explorer, um die Änderungen anzuzeigen. Wenn der Client bereits geöffnet ist, aktualisieren Sie die Seite.

    Die folgende Abbildung zeigt, dass das Arbeitsaufgabenformular für das Produktrückstandselement jetzt das neue Feld enthält.

    Screenshot zeigt das Feld

Ändern der Feldbezeichnung in einem Arbeitsaufgabenformular

Um die Feldbeschriftung zu ändern, ändern Sie den Wert, der dem Control Element-Attribut Label zugewiesen ist. Um ein Feld aus dem Arbeitselementformular zu entfernen, löschen Sie das Control dem Feld zugeordnete Element.

  1. Exportieren Sie die WIT-Definitionsdatei gemäß Ihrem Prozessmodell.

  2. Suchen Sie in den Abschnitten nach FORMLayout der Definition des Felds, das Sie ändern möchten. In diesem Beispiel wird die Bezeichnung für das Feld "Titel " geändert:

    <Column PercentWidth="70">  
       <Control Type="FieldControl" FieldName="System.Title" Label="Title" LabelPosition="Left" />  
    </Column>
    
  3. Ändern Sie die Bezeichnung für das Feld so, dass die portugiesische Zweigstelle, die an diesem bestimmten Projekt arbeitet, den Namen des Felds "Titel " lesen kann, wenn sie mit dem Arbeitsaufgabenformular arbeiten. Schließen Sie das portugiesische Wort für Titel (Titulo) in das Feld "Titel" ein.

    <Column PercentWidth="70">  
       <Control Type="FieldControl" FieldName="System.Title" Label="Title (Titulo):" LabelPosition="Left" />  
    </Column>
    
  4. Importieren Sie die geänderte WIT-Definition.

Hinzufügen eines benutzerdefinierten Steuerelements

Mithilfe der REST-APIs zum Nachverfolgen von Arbeitsaufgaben können Sie Fehler, Aufgaben und andere Arbeitsaufgabentypen (WITs) programmgesteuert erstellen, aktualisieren und suchen. Darüber hinaus können Sie benutzerdefinierte Steuerelemente erstellen, um die Funktionalität eines Arbeitsaufgabenformulars zu verbessern.

Alternativ können Sie benutzerdefinierte Steuerelemente verwenden, die über den Visual Studio Marketplace verfügbar sind, z. B.:

Informationen zum Hinzufügen eines benutzerdefinierten Steuerelements zum neuen Webformular finden Sie unter WebLayout- und Steuerelementelemente.

Ändern eines Attributs eines vorhandenen Felds

Sie verwenden witadmin changefield , um die Attribute eines vorhandenen Felds zu ändern. Mit dem folgenden Befehl wird beispielsweise der Anzeigename für MyCompany.Type in "Evaluationsmethode" geändert.

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

In der folgenden Tabelle sind die Attribute zusammengefasst, die Sie mit witadmin changefield ändern können.

Merkmal BESCHREIBUNG
Datentyp Gibt den Datentyp an, den das Feld akzeptiert. Im Allgemeinen können Sie den Felddatentyp nach der Definition nicht mehr ändern. Sie können den Felddatentyp nur für Felder vom Typ HTML oder PlainText wechseln.
Anzeigename Der Anzeigename wird in den Dropdownmenüs von Arbeitsaufgabenabfragen angezeigt und muss in allen Feldern eindeutig sein, die in einer Projektsammlung definiert sind. Der Anzeigename kann sich von der Formularbezeichnung unterscheiden, die im Arbeitsaufgabenformular angezeigt wird.
Berichterstellungsattribute Sie können den Namen des Felds ändern, wie es in einem Bericht, dem Berichtsverweisnamen und dem Berichtstyp angezeigt wird. Sie können den Anzeigenamen der Berichterstellung lokalisieren.

Der Berichtstyp bestimmt, ob die Daten des Felds in die relationale Warehouse-Datenbank geschrieben werden, sowohl in die relationale Lagerdatenbank als auch in den OLAP-Cube, oder um beim Verarbeiten des OLAP-Cubes eine vorab berechnete Summe von Werten zu generieren.

Eine vollständige Liste der standardmäßigen berichtsfähigen Felder finden Sie unter Referenz zu berichtsfähigen Feldern. Weitere Informationen zu berichterstattungsfähigen Attributen finden Sie unter Arbeitselementfelder und -attribute, Berichtsfähige Attribute.
Synchronisierung Sie können die Synchronisierung für Personennamenfelder mit Active Directory aktivieren oder deaktivieren.

Ändern des Index-Attributs eines Felds

Aktivieren Sie die Indizierung für ein Feld, um die Abfrageantwortzeiten beim Filtern zu verbessern. Standardmäßig werden die folgenden Felder indiziert: Zugewiesen an, Datum der Erstellung, Geändert von, Zustand, Grund, Bereichs-ID, Iterations-ID und Arbeitselementtyp.

Verwenden Sie den Befehl "witadmin indexfield", um die Indizierung für ein Feld zu aktivieren oder zu deaktivieren.

Löschen eines Felds

Wenn Sie ein Feld aus einem bestimmten WIT entfernen, verbleibt das Feld in der Auflistung oder auf dem Datenbankserver, auch wenn es nicht mehr von WIT referenziert wird. Führen Sie die folgenden Schritte aus, um ein Feld vollständig zu entfernen.

  1. Entfernen Sie die FIELD Definition aus allen WIT-Definitionen und allen globalen Workflows, die darauf verweisen.

  2. Überprüfen Sie, ob das Feld nicht verwendet wird. Zum Beispiel:

    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. Löschen Sie das Feld. Zum Beispiel:

    witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomContact
    
  4. Wenn das gelöschte Feld berichtbar war und Ihr Projekt SQL Server Reporting Services verwendet, erstellen Sie das Data Warehouse neu, um das alte Feld und dessen Werte zu löschen.

Weitere Informationen finden Sie unter "Verwalten von Arbeitsaufgabenfeldern".

Test-, Build- und Versionssteuerungsfelder

Bestimmte Arbeitsaufgabentypen umfassen Felder, die von automatisierten Prozessen generiert werden, die in team Foundation Build, Microsoft Test Manager und Team Foundation-Versionssteuerung integriert werden. Wenn Sie diese Felder zu Ihren benutzerdefinierten Arbeitsaufgabentypen (WITs) hinzufügen möchten, bearbeiten Sie die WIT-Definition , die den zuvor beschriebenen Schritten folgt.

Sie können beispielsweise die Felder "Gefunden in " und " Integriert" in "Build " hinzufügen, die Fehler mit den Builds verknüpfen, in denen sie gefunden oder behoben wurden. Verwenden Sie den folgenden Codeausschnitt, um diese Felder in eine WIT-Definition einzuschließen:

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

Weitere Informationen finden Sie unter Auf Build- und Testintegrationsfeldern basierende Abfrage.