CreateNewWorkItem (Tarea)
Actualización: noviembre 2007
De forma predeterminada, Team Foundation Build crea un nuevo elemento de trabajo si detecta un error de compilación o un error del análisis estático. La tarea CreateNewWorkItem crea un nuevo elemento de trabajo del tipo especificado y con el título y la descripción especificados. El campo Microsoft.VSTS.Build.FoundIn está establecido en el valor de la propiedad BuildId y cualquier valor de campo personalizado especificado en la propiedad WorkItemFieldValues se establece tal como se ha especificado.
Parámetros
Propiedad |
Descripción |
---|---|
TeamFoundationServerUrl |
Especifica la dirección URL del servidor de Team Foundation Server. Por ejemplo, http://MiServidor:8080. |
BuildNumber |
Especifica el número de versión de compilación de Team Foundation Build. |
BuildURI |
Especifica el identificador URI de la compilación. |
Description |
Especifica la descripción del elemento de trabajo. El valor predeterminado de esta propiedad se especifica en el archivo TFSBuild.proj de la definición de compilación como se indica a continuación:
|
TeamProject |
Especifica el nombre del proyecto de equipo. |
Title |
Especifica el título del elemento de trabajo. |
WorkItemFieldValues |
Especifica una lista de nombres y valores de campo para el elemento de trabajo creado. Especifique estos valores como una lista de pares de nombre y valor separados por punto y coma. Por ejemplo, si desea establecer priority=1, severity=2 y rank=0, defina la propiedad MSBuild como se indica en el fragmento de código XML siguiente:
|
WorkItemType |
Especifica el tipo de elemento de trabajo. Por ejemplo, "bug". Debe ser un tipo de elemento de trabajo válido. Si no se define esta propiedad, el tipo de elemento de trabajo predeterminado es "error". |
Comentarios
La tarea CreateNewWorkItem se define en Microsoft.TeamFoundation.Build.Tasks.VersionControl.dll. El archivo Microsoft.TeamFoundation.Build.targets contiene una instancia de la tarea CreateNewWorkItem que Team Foundation Build utiliza como implementación predeterminada del destino CreateWorkItem. También puede personalizar el proceso de compilación mediante la definición de una instancia diferente de la tarea CreateNewWorkItem para una definición de compilación en el archivo TFSBuild.proj.
La carpeta <raíz>:\Archivos de programa\MSBuild\Microsoft\VisualStudio\v9.0\TeamBuild en el equipo de Team Foundation Build contiene el archivo Microsoft.TeamFoundation.Build.targets.
Tipos de elemento de trabajo válidos
Cada proyecto de equipo se crea con una metodología determinada. En Team Foundation, la metodología de MSF for Agile Software Development define los tipos de elemento de trabajo Error, Calidad de Servicio, Riesgo, Escenario y Tarea. La metodología de MSF for CMMI for Process Improvement define los tipos de elemento de trabajo Error, Solicitud de cambio, Problema, Requisito, Revisión, Riesgo, Escenario y Tarea. También puede definir su propio tipo de elemento de trabajo personalizando una definición del tipo de elemento de trabajo existente. Para obtener más información, vea Personalizar tipos de elemento de trabajo.
Un tipo de elemento de trabajo que se define para la tarea CreateNewWorkItem debe ser válido para la integración de generación y debe definir un campo FoundIn. Para obtener más información, vea Agregar campos de integración a tipos de elementos de trabajo.
Comportamiento predeterminado
Si no define la propiedad WorkItemType, la tarea CreateNewWorkItem utiliza el tipo de elemento de trabajo Error.
Notas acerca de la propiedad WorkItemFieldValues
WorkItemFieldValues se utiliza para especificar los valores de campo del elemento de trabajo como una lista de pares de nombre y valor separados por punto y coma. Si especifica un nombre de campo que no existe, se omite el par de nombre y valor correspondiente. Por ejemplo, si desea establecer el campo de gravedad (severity) en 1, pero la gravedad no se define en el tipo de elemento de trabajo, se omite la entrada.
Si el elemento de trabajo que define tiene campos obligatorios sin valores predeterminados, debe proporcionar los valores en la propiedad WorkItemFieldValues. Por ejemplo, el tipo de elemento de trabajo Defecto tiene un campo obligatorio que se denomina Prioridad. Los valores de Prioridad son 0, 1, 2 ó 3 y no se especifica ningún valor predeterminado. Se produce un error en la tarea si especifica un valor no válido para un campo obligatorio. Por ejemplo, si establece la Prioridad en 5, la tarea CreateNewWorkItem produce un error.
No puede especificar los campos de CreatedBy y State del elemento de trabajo. El campo CreatedBy es de sólo lectura. Se establece mediante el modelo de objetos (OM) de seguimiento de elementos de trabajo. El campo State no se puede especificar porque el OM de seguimiento de elementos de trabajo no puede tener varios estados de inicio.
Ejemplo
El ejemplo siguiente establece WorkItemFieldValues en el archivo TfsBuild.proj para el elemento de trabajo creado al producirse un error de generación.
<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>
El ejemplo siguiente utiliza la tarea CreateNewWorkItem en el archivo TfsBuild.proj para crear un elemento de trabajo personalizado al producirse un error de generación.
<!-- 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>
El ejemplo siguiente muestra la instancia predeterminada de la tarea CreateNewWorkItem definida en el archivo Microsoft.TeamFoundation.Build.targets.
<CreateNewWorkItem
TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
BuildUri="$(BuildURI)"
BuildNumber="$(BuildNumber)"
Description="$(WorkItemDescription)"
TeamProject="$(TeamProject)"
Title="$(WorkItemTitle)"
WorkItemFieldValues="$(WorkItemFieldValues)"
WorkItemType="$(WorkItemType)"
ContinueOnError="true" />
Vea también
Tareas
Cómo: Personalizar números de versión de compilación
Conceptos
Introducción a los archivos de configuración de Team Foundation Build
Tareas de Team Foundation Build
Otros recursos
Personalizar Team Foundation Build