Agregar o modificar un campo para realizar un seguimiento del trabajo

Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

El proyecto contiene 100 o más campos de datos, en función del proceso usado para crear el proyecto, como Agile, Basic, Scrum o CMMI. Cada elemento de trabajo está asociado a un tipo de elemento de trabajo (WIT) y los datos que puede supervisar se corresponden con los campos asignados al WIT. Los datos de un elemento de trabajo se actualizan modificando el campo de datos dentro de un elemento de trabajo.

Nota:

Para obtener Azure DevOps Services o para colecciones de proyectos que usan el modelo de proceso heredado, vea Agregar un campo personalizado a un tipo de elemento de trabajo.

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 dentro de un menú desplegable o agregar una regla para especificar un valor predeterminado o restringir el valor que puede tomar.

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.

Requisitos previos

  • Para enumerar los campos, debe tener el permiso Ver información de nivel de proyecto para el proyecto en el conjunto de recopilación en Permitir.
  • Para agregar o personalizar un campo, debe ser miembro del grupo Administradores de proyectos o tener el permiso Editar información de nivel de proyecto establecido en Permitir.
  • 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 Administradores de colecciones de proyectos .

Para agregarse como administrador, cambie los permisos de nivel de colección del proyecto.

Métodos por los que se agregan 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, que quiera realizar el 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 de 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 obtener más información, consulte Personalización del flujo de trabajo global.

Todos los campos definidos en todas las WIT y todos los flujos de trabajo globales para todos los proyectos constituyen el conjunto completo de campos definidos en la colección. Puede cambiar el atributo, cambiar el nombre y eliminar los campos existentes. Sin embargo, incurrirá en ciertos costos cuando realice 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 para la definición de 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 usen 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.

Resumen de atributos de campo y reglas de campo

Para editar un archivo de definición de 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.

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.

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 pero (campos cuyo nombre de referencia empieza 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, consulte Í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 de WIT.

<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 dentro de 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 dentro de un menú desplegable en un formulario de elemento de trabajo y la columna Valor dentro del 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
Lista de selección personalizada

<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 se expande una lista de distribución para mostrar sus miembros individuales o una lista se filtran mediante los atributos expanditems y filteritems opcionales. Use listas globales para minimizar el trabajo necesario para actualizar una lista que se comparte entre WIT 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 aparezcan como diferentes entre wit o proyectos, puede definir una lista global para parte de una lista de selección. Consulte Definir listas de selección y 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 ono atributos para centrarse en quién hace la regla y no se aplica.

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, READONLY y REQUIRED
Copiar un valor o especificar un valor predeterminado. COPY, DEFAULT y 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, WHENCHANGED y WHENNOTCHANGED

Los campos del sistema, cuyos nombres empiezan por el prefijo "System" (por ejemplo, System.ID), están limitados en términos de las reglas que se pueden aplicar. Por ejemplo, no puede copiar o establecer en campos vacíos usados para realizar un 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 Reglas y evaluación de reglas.

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 va a agregar. Debe especificar los siguientes atributos necesarios: 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 Requestor, con un nombre de referencia de FabrikamFiber.MyTeam.Requestor y una lista de selección de valores permitidos, con el valor predeterminado de 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. El nombre de referencia, o refname, es el nombre de programación del campo. Todas las demás reglas deben hacer referencia a .refname Para más información, consulte Convenciones y restricciones de nomenclatura.

  4. Agregue el Control elemento dentro de la FORM sección para que el campo personalizado aparezca en el formulario dentro del grupo de elementos donde 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 del trabajo define todos los elementos secundarios del FORM elemento como mayúsculas y minúsculas y todos los demás elementos. 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 elementos XML de control.

  5. Importe el archivo de definición de 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.

    Nuevo campo en el formulario

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 elemento Label . Para quitar un campo del formulario de elemento de trabajo, elimine el Control elemento asociado al campo.

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

  2. En las FORM secciones y Layout , busque la 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 portuguesa que trabaje en este proyecto en particular pueda leer el nombre del campo Título cuando trabajen 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 las API REST para realizar el seguimiento de elementos de trabajo, puede crear, cambiar y buscar errores, tareas y otras 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 de campo una vez definido. Solo puede cambiar el tipo de datos de campo 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 notificables predeterminados, vea Referencia de campos notificables . Para obtener más información sobre los atributos que se pueden notificar, vea Campos y atributos del elemento de trabajo, Atributos que se pueden notificar.
Synchronization Puede habilitar o deshabilitar la sincronización de campos de nombre de persona con Active Directory.

Cambiar el 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 cualquier flujo de trabajo global que haga 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 era notificable y el proyecto usa SQL Server Reporting Services, 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 elementos de trabajo.

Campos de prueba, compilación y control de versiones

Varios tipos de elementos de trabajo 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 sus WIT personalizados, edite la definición de WIT según los pasos descritos anteriormente en este tema.

Por ejemplo, puede agregar los campos Found In y Integrated in Build que aparecen en las definiciones de tipo para 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, consulte 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 más información, consulte Agregar o modificar campos de elementos de trabajo para admitir informes.

En este artículo se ha tratado cómo agregar y personalizar campos para los modelos de proceso XML hospedados y XML locales. Para obtener información sobre cómo agregar y personalizar tipos de elementos de trabajo para modelos de procesos XML hospedados y XML locales, vea Agregar o modificar un tipo de elemento de trabajo. Para el modelo de proceso de herencia, consulte Personalización de un proceso.

Otros temas o recursos relacionados: