Sdílet prostřednictvím


CreateNewWorkItem-Aufgabe

Aktualisiert: November 2007

Standardmäßig erstellt Team Foundation Build beim Auftreten von Kompilierungsfehlern oder statischen Analysefehlern eine neue Arbeitsaufgabe. Die CreateNewWorkItem-Aufgabe erstellt eine neue Arbeitsaufgabe des angegebenen Typs mit dem angegebenen Titel und der Beschreibung. Das Feld Microsoft.VSTS.Build.FoundIn wird auf den Wert der BuildId-Eigenschaft festgelegt, und jeder in der WorkItemFieldValues-Eigenschaft angegebene benutzerdefinierte Feldwert wird wie angegeben festgelegt.

Parameter

Eigenschaft

Beschreibung

TeamFoundationServerUrl

Gibt die Team Foundation Server-URL an. Beispielsweise http://MyServer:8080.

BuildNumber

Gibt die Team Foundation Build-Buildnummer an.

BuildURI

Gibt den Build-URI an.

Description

Gibt die Arbeitsaufgabenbeschreibung an. Der Standardwert dieser Eigenschaft wird in der Datei TFSBuild.proj der Builddefinition folgendermaßen angegeben:

<!-- Description for the work item created on build failure -->
    <DescriptionText>This work item was created by Team Build on a build failure.</DescriptionText>

TeamProject

Gibt den Namen des Teamprojekts an.

Title

Gibt den Arbeitsaufgabentitel an.

WorkItemFieldValues

Gibt eine Liste von Feldnamen und Werten für die erstellte Arbeitsaufgabe an.

Geben Sie diese Werte als durch Semikolon getrennte Liste von Name-Wert-Paaren an. Zum Festlegen von beispielsweise priority=1, severity=2 und rank=0 definieren Sie die MSBuild-Eigenschaft folgendermaßen:

<PropertyGroup>
<WorkItemFieldValues>
   priority =1; severity=2; rank =0
</WorkItemFieldValues>
</PropertyGroup>

WorkItemType

Gibt den Arbeitsaufgabentyp an. Beispielsweise Fehler.

Dies muss ein gültiger Arbeitsaufgabentyp sein. Wenn diese Eigenschaft nicht definiert wird, ist der Standardarbeitsaufgabentyp Fehler.

Hinweise

Die CreateNewWorkItem-Aufgabe ist in der Microsoft.TeamFoundation.Build.Tasks.VersionControl.dll definiert. Die Datei Microsoft.TeamFoundation.Build.targets enthält eine Instanz der CreateNewWorkItem-Aufgabe, die von Team Foundation Build als eine Standardimplementierung für das CreateWorkItem-Ziel verwendet wird. Der Buildprozess kann angepasst werden, indem Sie eine andere Instanz der CreateNewWorkItem-Aufgabe für eine Builddefinition in der Datei TfsBuild.proj definieren.

Der Ordner <root>:\Programme\MSBuild\Microsoft\VisualStudio\v9.0\TeamBuild auf dem Team Foundation Build-Computer enthält die Datei Microsoft.TeamFoundation.Build.targets.

Gültige Arbeitsaufgabentypen

Jedes Teamprojekt wird mit einer bestimmten Methodik erstellt. In Team Foundation werden durch die MSF for Agile Software Development-Methodik die Arbeitsaufgabentypen Fehler, Dienstqualität, Risiko, Szenario und Aufgabe definiert. Die CMMI for Process Improvement-Methodik definiert Fehler, Änderungsanforderung, Problem, Anforderung, Überprüfung, Risiko, Szenario und Aufgabe als Arbeitsaufgabentypen. Sie können einen eigenen Arbeitsaufgabentyp durch Anpassen einer vorhandenen Arbeitsaufgabentypdefinition erstellen. Weitere Informationen finden Sie unter Anpassen von Arbeitsaufgabentypen.

Ein für die CreateNewWorkItem-Aufgabe definierter Arbeitsaufgabentyp muss für die Buildintegration gültig sein und ein FoundIn-Feld definieren. Weitere Informationen finden Sie unter Hinzufügen von Integrationsfeldern in Arbeitsaufgabentypen.

Standardverhalten

Wenn die WorkItemType-Eigenschaft nicht definiert wird, verwendet die CreateNewWorkItem-Aufgabe den Arbeitsaufgabentyp Fehler.

Hinweise zur WorkItemFieldValues-Eigenschaft

WorkItemFieldValues wird zum Angeben der Feldwerte der Arbeitsaufgabe in Form einer durch Semikolon getrennten Liste von Name-Wert-Paaren verwendet. Beim Angeben eines nicht vorhandenen Feldnamens wird das entsprechende <Name, Wert>-Paar ignoriert. Wenn Sie zum Beispiel das Schweregradfeld auf 1 festlegen möchten, Schweregrad jedoch nicht im Arbeitsaufgabentyp definiert ist, wird die Eingabe ignoriert.

Wenn die von Ihnen definierte Arbeitsaufgabe Pflichtfelder ohne Standardwerte enthält, müssen Sie Werte in der WorkItemFieldValues-Eigenschaft angeben. Zum Beispiel verfügt der Arbeitsaufgabentyp Fehler über ein Pflichtfeld mit dem Namen Priorität. Die Werte für Priorität sind 0, 1, 2 oder 3. Eine Standardeinstellung ist nicht festgelegt. Die Aufgabe schlägt fehl, wenn Sie für ein Pflichtfeld einen ungültigen Wert angeben. Wenn Sie z. B. die Priorität auf 5 festlegen, schlägt die CreateNewWorkItem-Aufgabe fehl.

Sie können die Felder CreatedBy und State der Arbeitsaufgabe nicht angeben. Das CreatedBy-Feld ist schreibgeschützt. Es wird vom Objektmodell (OM) für Arbeitsaufgabenverfolgung festgelegt. Das State-Feld kann nicht angegeben werden, da das Objektmodell für Arbeitsaufgabenverfolgung nicht mehrere Anfangszustände haben kann.

Beispiel

Das folgende Beispiel legt WorkItemFieldValues in der Datei TfsBuild.proj für Arbeitsaufgaben bei Buildfehlern fest.

<WorkItemFieldValues>Area Path=$(AreaPath);Iteration Path=$(IterationPath);Severity=1;Priority=0;Symptom=build break;Steps To Reproduce=Start the build using Team Build;Source=Development;How Found=Build Break;Assigned To=Jim Wilson</WorkItemFieldValues>

Das folgende Beispiel verwendet die CreateNewWorkItem -Aufgabe in der Datei TfsBuild.proj, um bei Buildfehlern eine benutzerdefinierte Arbeitsaufgabe zu erstellen.

<!-- Add the UsingTask to the top of the TFsBuild.proj file after the schema definition-->
<UsingTask TaskName="Microsoft.TeamFounadtion.Build.Tasks.CreateNewWorkItem"   AssemblyFile="$(TeamBuildRefPath)\Microsoft.TeamFoundation.Build.Tasks.VersionControl.dll" />
<!-- Add the following XML after the closing </ItemGroup>-->
<!-- and before the closing </Project>-->
</ItemGroup>
   <PropertyGroup>      <BuildNumber>BuildType_Date.1</BuildNumber>      <WorkItemFieldValues>Priority=1:Severity=2</WorkItemFieldValues>      <WorkItemType>Bug</WorkItemType>   </PropertyGroup>   <TargetName="CreateWorkItem">      <CreateNewWorkItem         BuildNumber="$(BuildNumber)"         BuildURi="$(BuildURI)"         Description="The CreateNewWorkItem task created this bug."         TeamProject"MyTeamProject"         TeamFoundationServerUrl="http://MyTFServer.8080"         Title="Bug in $(BuildNumber)"         WorkItemFieldValues="$(WorkItemFieldValues)"         WorkItemType="$(WorkItemType)" />   </Target>
</Project>

Im folgenden Beispiel wird die Standardinstanz der CreateNewWorkItem-Aufgabe dargestellt, die in der Datei Microsoft.TeamFoundation.Build.targets definiert ist.

<CreateNewWorkItem
    TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
    BuildUri="$(BuildURI)"
    BuildNumber="$(BuildNumber)"
    Description="$(WorkItemDescription)"
    TeamProject="$(TeamProject)"
    Title="$(WorkItemTitle)"
    WorkItemFieldValues="$(WorkItemFieldValues)"
    WorkItemType="$(WorkItemType)"
    ContinueOnError="true" />

Siehe auch

Aufgaben

Gewusst wie: Anpassen von Buildnummern

Konzepte

Team Foundation Build-Konfigurationsdateien

Team Foundation Build-Aufgaben

Weitere Ressourcen

Anpassen von Team Foundation Build

Ziele, Aufgaben und Eigenschaften von Team Foundation Build

Referenz Arbeitsaufgabentypschema