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