Agregar o modificar un campo para realizar un seguimiento del trabajo

Azure DevOps Server 2022: Azure DevOps Server 2019

El proyecto contiene 100 o más campos de datos, según el 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. Para actualizar los datos de un elemento de trabajo, modifique el campo de datos dentro de un elemento de trabajo.

Nota:

Para Azure DevOps Services o para colecciones de proyectos que usan el modelo de proceso heredado, consulte Adición de un campo personalizado a un tipo de elemento de trabajo.

Puede modificar un campo existente o agregar un campo personalizado para admitir el seguimiento de requisitos de datos adicionales. 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 la colección establecida en Permitir.
  • Para agregar o personalizar un campo, debe ser miembro del grupo Project Administración istrators 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 de Team Foundation Administración istrators o del grupo de seguridad colección de proyectos Administración istrators.

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

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

Los campos de elementos de trabajo se usan para realizar un seguimiento de los datos de un tipo de elemento de trabajo y definir los criterios de filtro para las consultas, así como para generar 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 elemento de trabajo dentro de la definición de un tipo de elemento de trabajo o un flujo de trabajo global.

Los campos de elemento de trabajo se mantienen para una colección de proyectos. Cuando realice una de las siguientes tareas, agregue campos:

  • Cree un proyecto. Se crean todos los campos definidos dentro de las definiciones de tipos de elemento de trabajo o flujo de trabajo global y que se definen 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 nuevos campos 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 definidos dentro del flujo de trabajo global se agregan a la colección. Defina un flujo de trabajo global cuando desee mantener un conjunto de campos 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 todos los flujos de trabajo globales y todos los flujos de trabajo globales para todos los proyectos componen el conjunto completo de campos definidos dentro de la colección. Puede cambiar el atributo de, cambiar el nombre y eliminar campos existentes. Sin embargo, se incurre en ciertos costos cuando se realizan 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 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 WIT.

Resumen de atributos de campo y reglas de campo

Para editar un archivo de definición WIT

Para agregar reglas o agregar un campo personalizado, exportar, editar e importar el archivo de definición 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.

Cualquier campo que quiera usar para realizar un seguimiento de los datos debe agregarse al archivo de definición wit. Esto es cierto para todos los campos del sistema (campos cuyo nombre de referencia empieza por System.). Todos los campos del sistema se definen para todos los WIT, independientemente de si los incluye en la definición de WIT. 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 usa para personalizar una lista de selección varía en función del campo.

Para modificar la lista de selección para la mayoría de los campos de cadena o entero dentro de un formulario de elemento de trabajo, edite la definición de WIT. Por ejemplo, para agregar un campo de resolución personalizado y una lista de selección, especifique el código XML como se muestra.

Campo personalizado y lista de selección
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 admiten la combinación de listas, la restricción a la que se aplica una lista y la configuración de condiciones en cuando 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 se filtra una lista 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 partes de 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, edite la definición de WIT. Puede limitar las reglas para aplicar a usuarios o grupos específicos. La mayoría de las reglas admiten o no 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 solo los miembros del equipo de administración, un grupo de TFS definido por el cliente, pueden modificar el campo Clasificación de pila una vez 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>  

Las reglas se aplican para realizar las siguientes acciones:

Para realizar esta acción: Use este elemento XML:
Especifique una sugerencia sobre herramientas. HELPTEXT
Califica el valor que puede tener un campo. CANNOTLOSEVALUE, EMPTY, FROZEN, NOTSAMEAS, READONLY y REQUIRED
Copie un valor o especifique 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
Aplique condicionalmente reglas basadas en valores de otros campos. WHEN, WHENNOT, WHENCHANGED y WHENNOTCHANGED

Los campos del sistema, cuyos nombres comienzan con el prefijo "System" (por ejemplo, System.ID), están limitados en términos de las reglas que puede aplicar a ellos. Por ejemplo, no se 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 utilizados por el sistema.

Para obtener más información sobre cómo aplicar reglas y restricciones de campo, consulte 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, solicitante, 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 escriba en el archivo de definición XML. El nombre de referencia, o refname, es el nombre mediante 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, el siguiente fragmento de código agrega el campo Solicitante para que aparezca debajo del campo Motivo en el formulario del 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 FORM elemento como mayúsculas y minúsculas y todos los demás elementos como 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 elementos 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 ilustración siguiente se muestra que el formulario del elemento de trabajo pendiente del producto ahora contiene el nuevo campo.

    Nuevo campo en el formulario

Para cambiar la etiqueta de campo en 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 trabaja en este proyecto en particular pueda leer el nombre del campo Título cuando trabajan con el formulario de elemento de trabajo. Incluya la palabra portuguesa para el título (Titulo) 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 sus 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:

  • Control de varios valores que admite la entrada de varios valores para un campo mostrando una lista de casillas
  • Control picklist de color que admite la adición de color a los elementos de la lista de selección
  • El elemento de trabajo forma acciones de un solo clic que proporciona una extensión de grupo con un conjunto personalizable de reglas que admiten la acción de un solo clic.

Para agregar un control personalizado al nuevo formulario web, consulte 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 siguiente comando cambia el nombre descriptivo definido para MyCompany.Type al 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. Puede cambiar el tipo de datos de campo solo para campos de tipo HTML o PlainText.
Nombre descriptivo El nombre descriptivo aparece en los menús desplegables de consultas de elementos de trabajo y debe ser único en todos los campos definidos dentro de una colección de proyectos. El nombre descriptivo puede diferir de la etiqueta de formulario que aparece en el formulario de elemento de trabajo.
Atributos de informes Puede cambiar el nombre del campo tal como aparece en un informe, el nombre de referencia del informe y el tipo de informe. Puede localizar el nombre descriptivo de los informes.

El tipo de informe determina si los datos del campo se escriben en la base de datos de almacenamiento relacional, en la base de datos de almacenamiento relacional y en el cubo OLAP, o si se genera 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 que se pueden notificar. Para obtener más información sobre los atributos que se pueden notificar, vea Campos y atributos de 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 indexación de un campo para mejorar los tiempos de respuesta de consulta al filtrar en el 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 específico de elemento de trabajo, ese campo no se quita de la colección ni del servidor de base de datos, aunque ya no lo haga ninguna WIT. Para quitar un campo, siga estos pasos.

  1. Quite la FIELD definición de todas las definiciones de WIT y los flujos de trabajo globales que hagan 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 y el proyecto usa SQL Server Reporting Services, recompile 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 e 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 usar 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 más información, consulte Creación de una consulta basada en campos de integración de compilación y prueba.

Nombres de campo e informes

Puede agregar campos o cambiar los atributos de los campos existentes para admitir informes. Al agregar o cambiar campos, debe asignarles un nombre sistemáticamente para que pueda encontrar el campo en el cubo de Analysis Services porque los campos se agrupan lógicamente en carpetas. Para obtener 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 procesos 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: