Condividi tramite


Attività CreateNewWorkItem

Aggiornamento: novembre 2007

Per impostazione predefinita, in Team Foundation Build viene creato un nuovo elemento di lavoro se viene rilevato un errore di compilazione o di analisi statica. L'attività CreateNewWorkItem crea un nuovo elemento di lavoro del tipo specificato e con il titolo e la descrizione specificati. Il campo Microsoft.VSTS.Build.FoundIn viene impostato sul valore della proprietà BuildId ed i valori di ogni campo personalizzato specificati nella proprietà WorkItemFieldValues vengono impostati come indicato.

Parametri

Proprietà

Descrizione

TeamFoundationServerUrl

Specifica l'URL di Team Foundation Server. Ad esempio http://MyServer:8080.

BuildNumber

Specifica il numero di generazione di Team Foundation Build.

BuildURI

Specifica l’URI di compilazione.

Description

Specifica la descrizione dell'elemento di lavoro. Il valore predefinito di questa proprietà è specificato nel file TFSBuild.proj della definizione di compilazione come segue:

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

TeamProject

Specifica il nome del progetto team.

Title

Specifica il titolo dell’elemento di lavoro.

WorkItemFieldValues

Specifica un elenco di nomi e valori di campo per l'elemento di lavoro creato.

Specificare questi valori in un elenco di coppie nome/valore separate da punto e virgola. Se ad esempio si desidera impostare priority=1, severity=2 e rank=0, definire la proprietà MSBuild come nell'XML illustrato di seguito:

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

WorkItemType

Specifica il tipo di elemento di lavoro. Ad esempio "errore".

Deve essere un tipo di elemento di lavoro valido. Se questa proprietà non è definita, il tipo di elemento di lavoro predefinito è errore.

Note

L'attività CreateNewWorkItem viene definita nel file Microsoft.TeamFoundation.Build.Tasks.VersionControl.dll. Il file Microsoft.TeamFoundation.Build.targets contiene un'istanza dell'attività CreateNewWorkItem che viene utilizzata da Team Foundation Build come implementazione predefinita per la destinazione di CreateWorkItem. È inoltre possibile personalizzare il processo di generazione definendo un'istanza diversa dell'attività CreateNewWorkItem per una definizione di compilazione nel file TfsBuild.proj.

La cartella <radice>:\Programmi\MSBuild\Microsoft\VisualStudio\v9.0\TeamBuild nel computer Team Foundation Build contiene il file Microsoft TeamFoundation Build targets.

Tipi di elementi di lavoro validi

Ogni progetto team è creato con una determinata metodologia. In Team Foundation, la metodologia MSF for Agile Software Development definisce i tipi di elementi di lavoro Errore, Qualità del servizio, Rischio, Scenario e Attività. La metodologia CMMI Process Improvement definisce i tipi di elementi di lavoro Bug, Richiesta modifiche, Problema, Requisito, Revisione, Rischio, Scenario e Attività. È inoltre possibile definire un tipo di elemento di lavoro personalizzando una definizione di tipo di elemento di lavoro esistente. Per ulteriori informazioni, vedere Personalizzazione dei tipi di elemento di lavoro.

Un tipo di elemento di lavoro definito per l'attività CreateNewWorkItem deve essere valido per l'integrazione di generazione e deve definire un campo FoundIn. Per ulteriori informazioni, vedere Aggiunta dei campi di integrazione nei tipi di elemento di lavoro.

Comportamento predefinito

Se non si definisce la proprietà WorkItemType, l'attività CreateNewWorkItem utilizza il tipo di elemento di lavoro Bug.

Note sulla proprietà WorkItemFieldValues

La proprietà WorkItemFieldValues è utilizzata per specificare i valori di campo dell'elemento di lavoro come un elenco di coppie nome/valore separate da punto e virgola. Se si specifica un nome di campo inesistente, la coppia <nome, valore> corrispondente viene ignorata. Se ad esempio si desidera impostare il campo della gravità su 1, ma la gravità non è definita nel tipo di elemento di lavoro, l'input verrà ignorato.

Se l'elemento di lavoro definito contiene campi obbligatori senza valori predefiniti, è necessario fornire valori nella proprietà WorkItemFieldValues. Il tipo di elemento di lavoro Escludi, ad esempio, contiene un campo obbligatorio denominato Priorità. I valori di Priorità sono 0, 1, 2, o 3 e non è specificata alcuna impostazione predefinita. Se viene specificato un valore non valido per un campo obbligatorio, l'attività fallisce. Ad esempio, se si imposta Priorità su 5, allora l’attività CreateNewWorkItem fallirà.

Non è possibile specificare i campi Creato da e Stato dell'elemento di lavoro. Il campo CreatedBy è di sola lettura. viene impostato dal modello ad oggetti della gestione degli elementi di lavoro (OM). Il campo Stato non può essere specificato perché il modello a oggetti di gestione degli elementi di lavoro non può avere più stati iniziali.

Esempio

Nell'esempio seguente viene impsotata la proprietà WorkItemFieldValues nel file TfsBuild.proj per l'elemento di lavoro creato quando la generazione ha esito negativo.

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

Nell'esempio seguente viene utilizzata l'attività CreateNewWorkItem nel file TfsBuild.proj per creare un elemento di lavoro personalizzato quando la generazione ha esito negativo.

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

Nell'esempio seguente viene illustrata l'istanza predefinita dell'attività CreateNewWorkItem definita nel file Microsoft.TeamFoundation.Build.targets.

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

Vedere anche

Attività

Procedura: personalizzare numeri di generazione

Concetti

Informazioni sui file di configurazione di Team Foundation Build

Attività di Team Foundation Build

Altre risorse

Personalizzazione di Team Foundation Build

Destinazioni, attività e proprietà di Team Foundation Build

Riferimenti dello schema dei tipi di elemento di lavoro