Agregar o modificar un campo para realizar un seguimiento del trabajo

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2013

Importante

Este artículo se aplica a la personalización de proyectos para los modelos de proceso XML locales. Para obtener información general sobre los modelos de proceso, consulte Personalización de la experiencia de seguimiento de trabajo.

El proyecto contiene 100 o más campos de datos, basados en el proceso ——Scrumo CMMIusado para crear el proyecto. Para actualizar los datos, modifique el campo de datos dentro de un elemento de trabajo. Cada elemento de trabajo está asociado a un tipo de elemento de trabajo (WIT) y los datos de los que puede realizar un seguimiento corresponden a los campos asignados al WIT.

Para admitir el seguimiento de requisitos de datos adicionales, puede modificar un campo existente o agregar un campo personalizado. Por ejemplo, puede personalizar la lista de selección de un menú desplegable, agregar una regla para especificar un valor predeterminado o para restringir el valor que puede tomar, o cambiar un atributo de campo.

No todas las listas de selección se definen de la misma manera. Algunas listas se definen a través de la interfaz de usuario, el flujo de trabajo de un WIT o agregando cuentas de usuario a un proyecto como se indica en la tabla siguiente.

Nota

Disponibilidad de características: Puede usar algunas características solo desde un TFS local y se anotan como tales.

Definición de WIT Cambio de línea de comandos (XML local)
- -
- -
- -
- -
- -
- -
- -
- -
- -

Permisos necesarios

  • Para enumerar los campos, debe tener el permiso Ver información de nivel de proyecto para el proyecto en la colección establecido en Permitir.
  • (TFS) Para agregar o personalizar un campo, debe ser miembro del grupo administradores de Project o tener el permiso Editar información de nivel de proyecto establecido en Permitir.
  • (TFS) Para eliminar o cambiar el nombre de los campos o cambiar un atributo de un campo, debe ser miembro del grupo de seguridad Administradores de Team Foundation o del grupo de seguridad Project Collection Administrators.

Para agregarlo como administrador, agregue administradores.

Métodos por los que se agregan los campos de elemento de trabajo

Utilice campos de elemento de trabajo para realizar el seguimiento de los datos para un tipo de elemento de trabajo y definir los criterios de filtro para las consultas, así como para generar los informes. Cualquier elemento de datos, excepto los campos del sistema, de los que quiera realizar un seguimiento debe definirse como un campo de elemento de trabajo. Puede definir campos de elementos de trabajo dentro de la definición de un tipo de elemento de trabajo o de un flujo de trabajo global.

Los campos de elemento de trabajo se mantienen para una colección de proyectos. Agregue los campos al realizar una de las siguientes tareas:

  • Cree un proyecto. Todos los campos que se definen dentro de las definiciones de los tipos de elemento de trabajo o flujos de trabajo globales que estén definidos para la plantilla de proceso seleccionada. Los campos principales del sistema se definen automáticamente para cada tipo de elemento de trabajo definido para un proyecto. Para obtener una lista de estos campos, vea Índice de campo de elemento de trabajo.

  • Importe una definición de WIT. Todos los campos nuevos definidos dentro de la definición de un tipo de elemento de trabajo se agregan a la colección. Para obtener más información, vea Referencia de todos los elementos XML WITD.

  • Importe una definición de flujo de trabajo global. Todos los nuevos campos que se definen dentro del flujo de trabajo global se agregan a la colección. Los flujos de trabajo globales se definen para mantener un conjunto de elementos de trabajo que comparten varios tipos de elementos de trabajo. Para más información, consulte Personalización del flujo de trabajo global.

  • Asigne una colección de proyectos a una instancia de Project Web App (PWA). Después de instalar las extensiones Team Foundation Server para Project Server, configure la integración mediante la asignación de varios componentes de Team Foundation. Al asignar una colección, se importa una definición de flujo de trabajo global que admite varios campos en campos de Project Server. Para obtener más información, vea Project Server agregados a TFS para admitir la sincronización de datos.

Todos los campos definidos en todos los WIT y todos los flujos de trabajo globales de todos los proyectos son el conjunto completo de campos definidos dentro de la colección. Puede cambiar el atributo, cambiar el nombre y eliminar los campos existentes. Sin embargo, se incurre en ciertos costos al realizar estos tipos de cambios, específicamente para el servidor local y los informes.

Para agregar o personalizar un campo para una colección, modifique el contenido XML de la definición wit. Defina cada campo a través de un elemento FIELD dentro de la sección FIELDS de la definición wit. Para obtener información sobre la estructura y la ubicación de estos archivos, vea Referencia de todos los elementos XML FIELD.

Agregar un campo, aplicar una regla o cambiar un atributo

Para agregar un campo personalizado, agregar reglas de campo o cambiar la etiqueta de un campo en un formulario de elemento de trabajo, modifique el tipo de elemento de trabajo (WIT) o los tipos que usan el campo. Siga la secuencia de personalización que coincida con el modelo de proceso.

Para cambiar un atributo de campo o cambiar el nombre de un campo, use la herramienta de línea de comandos witadmin. De lo contrario, para modificar un campo, agregue o modifique las reglas asociadas al campo dentro de una definición de WIT.

Summary of field attributes and field rules

Para editar un archivo de definición wit

Para agregar reglas o agregar un campo personalizado, exporte, modifique e importe de nuevo el archivo de definición de WIT.

Sugerencia

Con witadmin, puede importar y exportar archivos de definición. Otras herramientas que puede usar incluyen el Editor de procesos (requiere que haya instalado una versión de Visual Studio). Instale el editor de plantillas de proceso desde Visual Studio Marketplace.

O bien, puede usar TFS Team Project Manager,un cliente de código abierto disponible en GitHub.

Sugerencia

Con witadmin, puede importar y exportar archivos de definición. Otras herramientas que puede usar incluyen el Editor de procesos (requiere que haya instalado una versión de Visual Studio). Instale el editor de plantillas de proceso de TFS desde Visual Studio Marketplace. Puede usar esta versión del Editor de procesos para modificar los formularios de elementos de trabajo de estilo antiguo. No se puede usar para editar formularios asociados a los nuevos formularios web forms.

O bien, puede usar TFS Team Project Manager,un cliente de código abierto disponible en GitHub.

Sugerencia

Con witadmin, puede importar y exportar archivos de definición. Otras herramientas que puede usar incluyen el Editor de procesos (requiere que haya instalado una versión de Visual Studio). Instale TFS Power Tools. O bien, puede usar TFS Team Project Manager,un cliente de código abierto disponible en GitHub.

Cualquier campo que desee utilizar para el seguimiento de los datos deberá agregarse al archivo de definición de WIT. Esto es así para todos los campos del sistema menos (campos cuyo nombre de referencia comienza por System.). Todos los campos del sistema se definen para todos los WIT, tanto si están incluidos en la definición de WIT como si no lo están. Para obtener más información sobre cada campo, vea Índice de campo de elemento de trabajo.

Agregar una casilla o un campo booleano

Use la sintaxis siguiente para agregar un campo booleano dentro de la sección FIELDS de la definición wit.

Use la sintaxis siguiente para agregar un campo booleano dentro de la sección FIELDS de la definición wit. Requiere TFS 2017.2 o una versión posterior.

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

A continuación, agregue la siguiente sintaxis en la sección FORM para que el campo aparezca en el formulario.

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

El campo aparecerá como una casilla en el formulario.

Personalizar una lista de selección

Las listas de selección son los valores enumerados que aparecen en un menú desplegable en un formulario de elemento de trabajo y la columna Valor en el editor de consultas. El método que se utiliza para personalizar una lista desplegable varía en función del campo.

Para modificar la lista de selección de la mayoría de campos numéricos enteros o de cadena incluidos en un formulario de elemento de trabajo, modifique la definición de WIT. Por ejemplo, para agregar un campo personalizado Resolución y una lista de selección, especifique el código XML que se muestra a continuación.

Campo personalizado y lista desplegable
Custom pick list

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

Las reglas permiten combinar listas, limitar los elementos a los que se aplica una lista y definir las condiciones que establecen cuándo aparece una lista en el formulario de elemento de trabajo. Las reglas controlan si una lista de distribución se expande para mostrar sus miembros individuales o si una lista se filtra mediante los atributos expanditems y filteritems opcionales. Use listas globales para minimizar el trabajo necesario para actualizar una lista que se comparte entre wi-fi o proyectos.

Cuando se usa una lista en varios WIT o en varios proyectos, mantenerla como una lista global minimiza los requisitos de mantenimiento. Además, si necesita que las partes de las listas se muestren como diferentes entre wi-fi o proyectos, puede definir una lista global para parte de una lista de selección. Vea Define pick lists (Definir listas de selección)y Define global lists (Definir listas globales).

Agregar reglas a un campo

Para agregar un campo personalizado o agregar reglas a un campo, modifique la definición de WIT. Puede limitar las reglas que se van a aplicar a grupos o usuarios concretos. La mayoría de las reglas admiten losatributos para o no para centrarse en quién hace y no se aplica la regla.

Por ejemplo, con el siguiente fragmento de código, puede aplicar la regla que establece que solo los miembros del equipo de administración (un grupo de TFS definido por el cliente) pueden modificar el campo Rango en la pila una vez que se ha creado un elemento de trabajo.

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

Tendrá que aplicar reglas para realizar las acciones siguientes:

Para realizar esta acción: Use este elemento XML:
Especificar una información sobre herramientas. HELPTEXT
Calificar el valor que un campo puede tener. CANNOTLOSEVALUE,EMPTY, FROZEN,NOTSAMEAS,READONLYy REQUIRED
Copiar un valor o especificar un valor predeterminado. COPY,DEFAULTy SERVERDEFAULT
Restringir quién puede modificar un campo. VALIDUSER, para y no atributos de regla de campo
Exigir la coincidencia de patrones en un campo de cadena. MATCH
Aplicar reglas condicionales en función de los valores de otros campos. WHEN, WHENNOT, WHENCHANGEDy WHENNOTCHANGED

Los campos del sistema, cuyos nombres comienzan por el prefijo "System" (por ejemplo, System.ID), están limitados en cuanto a las reglas que se pueden aplicar a ellos. Por ejemplo, no puede copiar ni establecer en campos vacíos que se usan para realizar el seguimiento de quién creó, cambió o cerró un elemento de trabajo o campos de fecha y hora usados por el sistema.

Para obtener más información sobre cómo aplicar reglas y restricciones de campo, vea Rules and rule evaluation.

Para agregar un campo personalizado

Para agregar un campo personalizado, edite la definición wit para agregar un elemento FIELD dentro de la sección FIELDS y un elemento Control dentro de la sección FORM.

  1. Exporte el archivo de definición de WIT en función del modelo de proceso que use.

  2. Busque la sección del archivo XML que comienza por FIELDS .

  3. Agregue el FIELD elemento que especifica el nombre del campo personalizado que se agregará. Debe especificar los siguientes atributos obligatorios: descriptivo name , refname (nombre de referencia) y type . Para obtener más información, vea REFERENCIA DE ELEMENTOS FIELD (Definición).

    El código siguiente especifica el campo personalizado, Solicitante, con un nombre de referencia de y una lista de selección de valores permitidos, con el FabrikamFiber.MyTeam.Requestor valor predeterminado Customer.

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

    Sugerencia

    Los elementos de la lista siempre aparecen en orden alfanumérico, independientemente de cómo los especifique en el archivo de definición XML. Nombre de referencia, o refname , es el nombre mediante programación del campo. Todas las demás reglas deben hacer referencia a refname . Para obtener más información, vea Convenciones y restricciones de nomenclatura.

  4. Agregue el elemento dentro de la sección para que el campo personalizado aparezca en el formulario dentro del grupo de elementos donde ControlFORM desea que aparezca.

    Por ejemplo, en el fragmento de código siguiente, el campo Requestor se agrega para que aparezca debajo del campo Reason en el formulario de elemento de trabajo.

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

    Sugerencia

    La definición de esquema para el seguimiento de trabajo define todos los elementos secundarios del elemento como mayúsculas y minúsculas camel y todos los demás elementos FORM como todos en mayúsculas. Si se producen errores al validar los archivos de definición de tipos, compruebe la estructura del uso de mayúsculas y minúsculas en sus elementos. También, la estructura del uso de mayúsculas y minúsculas en las etiquetas de apertura y cierre deben ajustarse a las reglas sintácticas de XML. Para obtener más información, vea Referencia de elemento XML de control.

  5. Importe el archivo de definición wit según el modelo de proceso que use.

  6. Abra el portal web o Team Explorer para ver los cambios. Si el cliente ya está abierto, actualice la página.

    En la siguiente ilustración se muestra cómo ahora el formulario del elemento de trabajo pendiente del producto contiene ahora el nuevo campo.

    New field in form

Para cambiar la etiqueta de campo de un formulario de elemento de trabajo

Para modificar la etiqueta de campo, cambie el valor asignado al Control atributo de Label elemento. Para quitar un campo del formulario de elemento de trabajo, elimine el Control elemento asociado al campo.

  1. Exporte el archivo de definición de WIT según el modelo de proceso.

  2. En las FORM secciones y , busque la Layout definición del campo que desea modificar. En este ejemplo se modifica la etiqueta del campo Título:

    <Column PercentWidth="70">  
       <Control Type="FieldControl" FieldName="System.Title" Label="Title" LabelPosition="Left" />  
    </Column>
    
  3. Cambie la etiqueta del campo para que la sucursal de Portugués que trabaja en este proyecto en particular pueda leer el nombre del campo Título cuando trabaje con el formulario de elemento de trabajo. Incluya la palabra "Portuguesa" como título en el campo Título.

    <Column PercentWidth="70">  
       <Control Type="FieldControl" FieldName="System.Title" Label="Title (Titulo):" LabelPosition="Left" />  
    </Column>
    
  4. Importe la definición de WIT modificada.

Agregar un control personalizado

Con el modelo de objetos para realizarel seguimiento de elementos de trabajo, puede crear, cambiar y buscar errores, tareas y otros WIT mediante programación. También puede crear su propios controles personalizados que agreguen funcionalidad a un formulario de elemento de trabajo.

Con las API REST para realizarel seguimiento de elementos de trabajo, puede crear, cambiar y buscar errores, tareas y otros WIT mediante programación. También puede crear su propios controles personalizados que agreguen funcionalidad a un formulario de elemento de trabajo.

O bien, puede agregar un control personalizado que esté disponible a través de Visual Studio Marketplace. Por ejemplo:

Para agregar un control personalizado al nuevo formulario web, vea Elementos WebLayout y Control.

Cambiar un atributo de un campo existente

Use witadmin changefield para cambiar los atributos de un campo existente. Por ejemplo, el comando siguiente cambia el nombre descriptivo definido para MyCompany.Type por Método de evaluación.

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

En la tabla siguiente se resumen los atributos que puede cambiar mediante witadmin changefield.

Atributo Descripción
Tipo de datos Especifica el tipo de datos que acepta el campo. En general, no se puede cambiar el tipo de datos del campo una vez definido. Puede cambiar el tipo de datos de campo solo para los campos de tipo HTML o PlainText.
Nombre descriptivo El nombre descriptivo aparece en los menús desplegables de las consultas de elementos de trabajo y debe ser único en todos los campos definidos dentro de una colección de proyectos. Dicho nombre puede ser diferente de la etiqueta de formulario que aparece en el formulario del elemento de trabajo.
Atributos para informe Puede cambiar el nombre del campo que aparece en un informe, el nombre de referencia del informe y el tipo de informe. Puede localizar el nombre descriptivo del informe.

El tipo de informe determina si los datos del campo se escriben en la base de datos de almacén relacional, en la base de datos de almacén relacional y en el cubo OLAP, o si se usan para generar una suma calculada previamente de valores al procesar el cubo OLAP.

Para obtener una lista completa de los campos de informes predeterminados, vea Referencia de campos que se pueden notificar. Para obtener más información sobre los atributos que se pueden notificar, vea Atributos y campos de elementos de trabajo, Atributos que se pueden notificar.
Synchronization Puede habilitar o deshabilitar la sincronización de campos de nombre de persona con Active Directory.

Cambio del atributo de índice de un campo

Puede habilitar la indización de un campo para mejorar los tiempos de respuesta de consulta al filtrar por dicho campo. De forma predeterminada, se indizan los campos siguientes: Asignado a, Fecha de creación, Modificado por, Estado, Motivo, Identificador de área, Id de iteración y Tipo de elemento de trabajo.

Para habilitar o deshabilitar la indexación de un campo, use el comando witadmin indexfield.

Eliminar un campo

Al quitar un campo de un tipo de elemento de trabajo concreto, el campo no se quita de la colección ni del servidor de bases de datos, aunque no haya ningún WIT que haga referencia a él. Para quitar un campo, siga estos pasos.

  1. Quite la FIELD definición de todas las definiciones de WIT y de los flujos de trabajo globales que hacen referencia a ella.

  2. Compruebe que el campo no está en uso. Por ejemplo:

    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. Elimine el campo. Por ejemplo:

    witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomContact
    
  4. Si el campo eliminado se puede notificar, vuelva a generar el almacenamiento de datos para purgar el campo antiguo y sus valores.

Para obtener más información, vea Administrar campos de elemento de trabajo.

En este tema se ha abordado cómo agregar y personalizar campos para los modelos de proceso XML hospedado y XML local. Para obtener información sobre cómo agregar y personalizar WIT para xml hospedado y modelos de proceso XML locales,vea Agregar o modificar un tipo de elemento de trabajo . Para el modelo de proceso de herencia, vea Personalizar un proceso.

Otros temas o recursos relacionados:

Campos de prueba, compilación y control de versiones

Varios tipos de elementos de trabajo (WIT) contienen campos que proporcionan información generada por procesos automatizados que se integran con Team Foundation Build, Microsoft Test Manager y el control de versiones de Team Foundation. Para agregar uno de estos campos a los WIT personalizados, edite la definición de WIT según los pasos descritos anteriormente en este tema.

Por ejemplo, puede agregar los campos Encontrado en e Integrado en Compilación que aparecen en las definiciones de tipo para los errores. Estos campos asocian errores con las compilaciones en las que se encontraron o corrigieron. Puede utilizar el siguiente fragmento de código para agregar estos campos a una definición de tipo de elemento de trabajo.

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

Para obtener más información, vea Consulta basada en campos de integración de compilación y prueba.

Nombres de campo e informes

Puede agregar campos o modificar los atributos de los campos existentes para admitir la creación de informes. Al agregar o cambiar los campos, debería asignarles nombres de forma sistemática para encontrar el campo en el cubo de Analysis Services, porque los campos se agrupan en carpetas de manera lógica. Para obtener más información, vea Agregar o modificar campos de elemento de trabajo para admitir informes.