Compartir a través de


Administrar campos de elemento de trabajo

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Importante

Para el modelo de proceso XML local, puede usar witadmin para enumerar, importar, exportar y modificar un proceso para un proyecto. En el caso de los modelos de proceso XML heredados y hospedados, solo puede usar witadmin para enumerar y exportar información del proceso. Para obtener información general sobre los modelos de proceso y lo que se admite, consulte Personalización de la experiencia de seguimiento del trabajo.

Puede administrar los campos definidos para los tipos de elementos de trabajo definidos para una colección de proyectos (XML local) mediante los siguientes comandos witadmin . Si desea agregar un campo global (válido para XML local), puede hacerlo modificando el archivo de flujo de trabajo global e importarlo a la colección.

  • changefield: cambia uno o varios atributos de un campo. Cuando se cambia uno de los atributos siguientes, se cambia para todos los tipos de elementos de trabajo y proyectos dentro de la colección de proyectos:
    • Tipo de datos para PlainText campos o HTML .

      Importante

      Al actualizar Team Foundation Server desde una versión anterior a la versión actual, la asignación de tipos para el campo Descripción (System.Description) se convierte automáticamente de PlainText a HTML. Con el changefield comando , puede restaurar el contenido de este campo para mostrar texto sin formato.

    • Nombre descriptivo que se muestra en la consulta del elemento de trabajo. Este nombre puede diferir del que se muestra en el formulario de elemento de trabajo.

    • Atributos de informes que incluyen el nombre del campo tal como aparece en un informe, el nombre del informe de referencia y el tipo de informe de referencia.

    • Sincronización con Active Directory: puede habilitar o deshabilitar la sincronización de campos de nombre de persona.

  • deletefield: elimina el campo especificado.
  • listfields: enumera los atributos de todos los campos o de un campo especificado.

Nota:

El witadmin indexfield comando ha quedado en desuso con Azure DevOps Server 2019 y versiones posteriores. Los campos de indexación ya no son necesarios.

Ejecución de la herramienta de witadmin línea de comandos

Para ejecutar la witadmin herramienta de línea de comandos, abra una ventana del símbolo del sistema donde está instalado Visual Studio. La witadmin herramienta de línea de comandos se instala con cualquier versión de Visual Studio. Para acceder a esta herramienta, instale la versión gratuita de Visual Studio Community o Visual Studio Team Explorer.

Nota:

Para conectarse a Azure DevOps Services, se recomienda usar la versión más reciente de Visual Studio o Visual Studio Community.

Nota:

Para conectarse a un servidor local, se recomienda usar la misma versión o posterior de Visual Studio que azure DevOps Server. Por ejemplo, si se conecta a Azure DevOps Server 2019, conéctese al proyecto desde una versión de Visual Studio 2019.

Para Visual Studio 2022

%programfiles(x86)%\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

o Professional Enterprise en lugar de , dependiendo de Communityla versión instalada.

Para Visual Studio 2019

%programfiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

o Professional Enterprise en lugar de , dependiendo de Communityla versión instalada.

Para Visual Studio 2017

%programfiles(x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

o TeamExplorer Professional en lugar de , dependiendo de Enterprisela versión instalada.

En una edición de 32 bits de Windows, reemplace %programfiles(x86)% por %programfiles%. Puede instalar Visual Studio Community (que proporciona acceso a Team Explorer) o Visual Studio Team Explorer 2017 de forma gratuita.

Para obtener información general sobre los campos definidos dentro de una plantilla de proceso predeterminada, consulte Índice de campo de elemento de trabajo.

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.

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 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 obtener más información, consulte Cambio de permisos de nivel de colección de proyectos.

Nota:

Incluso si inicia sesión con permisos administrativos, debe abrir una ventana del símbolo del sistema con privilegios elevados para realizar esta función en un servidor que ejecute Windows Server 2008. Para abrir una ventana del símbolo del sistema con privilegios elevados, elija Iniciar, abra el menú contextual del símbolo del sistema y, a continuación, elija Ejecutar como administrador. Para obtener más información, consulte el sitio web de Microsoft: Control de acceso de usuario.

Sintaxis

witadmin changefield /collection:CollectionURL /n:RefName   [/name:NewName]    [/syncnamechanges:true | false]   [/reportingname:ReportingName]    [/reportingrefname:ReportingRefName]   [/reportingtype:Type]   [/reportingformula:Formula]   [/type:PlainText | HTML]   [/noprompt]  

witadmin deletefield /collection:CollectionURL /n:RefName [/noprompt]  

witadmin listfields /collection:CollectionURL /n:RefName [/unused]  

Parámetros

Parámetro Descripción
/collection:CollectionURL Especifica el URI de la colección de proyectos. Por ejemplo:

Formato local: http://ServerName:Port/VirtualDirectoryName/CollectionName
Si no se usa ningún directorio virtual, use el siguiente formato: http://ServerName:Port/CollectionName.
/n:RefName
/n:Name
Nombre de referencia de un campo de tipo de elemento de trabajo.
/index Especifica para habilitar o deshabilitar la indexación para el campo especificado. Especifique activado para habilitar la indexación y desactivación para deshabilitar la indexación.
/name:NewName Especifica el nuevo nombre para el campo.
/syncnamechanges Especifica el uso del campo de elemento de trabajo para almacenar nombres y actualizar a medida que se realizan cambios en Active Directory o en un grupo de trabajo. Esta opción solo es válida cuando se especifica un campo con el tipo de datos de String para .typename

Especifique true para habilitar la sincronización para el campo de datos y especifique false deshabilitar la sincronización para el campo de datos.
/reportingname:ReportingName Especifica el nombre del campo en el almacenamiento de datos que se va a usar para los informes.
/reportingrefname:ReportingRefName Especifica el nombre de referencia del campo en el almacenamiento de datos que se va a usar para los informes.
/reportingtype:Type Especifica cómo se usa el campo en el almacén para los informes. Valores válidos son:

- dimension: Se usa para los campos Integer, String o DateTime.
- detail: Se usa para los campos Integer, Double, String o DateTime.
- measure: Se usa para los campos Integer y Double. El tipo de agregación predeterminado es sum. Puede especificar otro tipo de agregación mediante el parámetro de fórmula .
- none: Se usa para deshabilitar la capacidad de informes en el campo.

Para obtener más información, vea Acerca de los atributos y campos de elementos de trabajo.
/reportingformula:Formula Especifica la fórmula de agregación que se va a usar cuando el campo se notifica como .measure La única fórmula admitida es sum.
/type:HTML | PlainText Especifica para convertir el contenido del campo de PlainText a HTML o desde HTML a PlainText. Puede especificar esta opción solo para campos cuya asignación de tipos sea PlainText o HTML. Consulte la referencia de elementos FIELD (Definición).
/unused Enumera todos los campos que no usan ningún proyecto definido en la colección de proyectos.
/noprompt Deshabilita la solicitud de confirmación.
/? o help Muestra ayuda sobre el comando en la ventana del símbolo del sistema.

Sincronización de nombres de persona con Active Directory

Debe habilitar manualmente la sincronización de cualquier campo de elemento de trabajo personalizado que se use para asignar nombres de persona que hagan referencia a Active Directory. Debe habilitar la sincronización para cada campo de cada colección de proyectos que contenga los campos personalizados.

Todos los campos de referencia del sistema que muestran los nombres de persona tienen el atributo syncnamechanges establecido trueen . Estos campos incluyen System.AuthorizedAs, System.AssignedTo, System.ChangedBy y System.CreatedBy. Sincronización habilitada para cada campo de nombre de persona definido en una de las plantillas de proceso predeterminadas. Para obtener más información, consulte Asignaciones y campos de flujo de trabajo.

Una vez habilitada la sincronización, el campo ya no muestra una cadena estática. En su lugar, el campo muestra el nombre asociado a una cuenta de usuario. Al cambiar el nombre de usuario en Active Directory o en Grupo de trabajo, un campo con syncnamechanges establecido true en muestra automáticamente el nuevo nombre.

Al asignar el syncnamechanges atributo a un campo String, el campo siempre acepta nombres de usuario válidos. Sin embargo, el campo no permite nombres de grupo almacenados en Team Foundation Server o en Active Directory si alguna de las condiciones siguientes es true:

  • La VALIDUSER regla se especifica en todos los tipos de elementos de trabajo.

  • La VALIDUSER regla se especifica para un tipo de elemento de trabajo.

  • La ALLOWEDVALUES regla se especifica para un tipo de elemento de trabajo y esa regla tiene un criterio de filtro que excluye los grupos.

    Para obtener más información, vea Todos los elementos FIELD.

Atributos que puede cambiar para cada tipo de elemento de trabajo

Puede cambiar los siguientes atributos o valores definidos para un campo cambiando la definición de tipo de elemento de trabajo en la que aparece el campo:

Ejemplos

A menos que se especifique lo contrario, los valores siguientes se aplican en cada ejemplo:

  • URI de la colección de proyectos: http://AdventureWorksServer:8080/tfs/DefaultCollection
  • Nombre del campo del elemento de trabajo: AdventureWorks.Field
  • Codificación predeterminada: UTF-8

Enumerar campos

Use witadmin listfields para ver el conjunto de campos en uso para seleccionar uno para agregar a un tipo de elemento de trabajo. Además, puede enumerar las asignaciones de atributos definidas para un campo específico y determinar qué campos usan los proyectos.

Visualización de los atributos de un campo de elemento de trabajo

  • Escriba el siguiente comando para enumerar los atributos definidos para un campo especificado, como Microsoft.VSTS.Common.Issue.

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:Microsoft.VSTS.Common.Issue  
    

    Se muestra la información de campo y atributo del campo especificado, como se ve en este ejemplo.

    Field: Microsoft.VSTS.Common.Issue  
    Name: Issue  
    Type: String  
    Reportable As: dimension  
    Use: Adventure Works (Shared Steps), AW Future (Shared Steps), AW Current (Shared Steps)  
    Indexed: False  
    

    El parámetro Use indica el nombre de cada proyecto y el tipo de elemento de trabajo en el que se usa el campo. Para obtener más información sobre los atributos de campo, vea Índice de campos de elementos de trabajo.

Enumerar todos los campos de una colección de proyectos

  • Escriba el siguiente comando para enumerar todos los campos definidos para una colección de proyectos.

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection  
    

    Aparece información de campo para todos los campos de la colección de proyectos con nombre. Consulte Índice de campos de elementos de trabajo.

Enumerar campos que no se usan

  • Escriba el siguiente comando para enumerar los campos que ya no se usan en la colección de proyectos por ningún tipo de elemento de trabajo.

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /unused  
    

    Aparece información de campo y atributo para cada campo que no se usa, como se muestra en este ejemplo.

    Field: Microsoft.VSTS.CMMI.TaskType  
    Name: Task Type  
    Type: String  
    Reportable As: dimension  
    Use: Not In Use  
    Indexed: False  
    
    Field: Microsoft.VSTSUE.Common.Flag  
    Name: Flag  
    Type: String  
    Reportable As: dimension  
    Use: Not In Use  
    Indexed: False  
    
    Field: Microsoft.VSTSUE.Common.Progress  
    Name: Progress  
    Type: String  
    Reportable As: dimension  
    Use: Not In Use  
    Indexed: False  
    

Cambiar el nombre de un campo

Puede cambiar el nombre descriptivo de un campo de elemento de trabajo para cumplir las convenciones de nomenclatura que usa el equipo. Tenga en cuenta que el nuevo nombre se aplica a todos los tipos de elementos de trabajo que hacen referencia al campo modificado en todos los proyectos de la colección de proyectos. El nombre descriptivo se muestra al definir criterios de filtro en una consulta de elemento de trabajo. El nombre que aparece en un formulario de elemento de trabajo puede ser diferente del nombre descriptivo definido para el campo.

Para cambiar el nombre de un campo de elemento de trabajo

  1. Escriba el siguiente comando para cambiar el nombre descriptivo asignado a Microsoft.VSTS.Common.Rank Rango importante.

    witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:Microsoft.VSTS.Common.Rank /name:"Important Rank"  
    
  2. En el símbolo del sistema de confirmación, escriba y y presione ENTRAR. Espere hasta que reciba el mensaje siguiente:

    Se ha cambiado el nombre del campo.

Para comprobar los cambios importados en un único proyecto

  1. En Team Explorer, elija Actualizar Actualizar.

    Las actualizaciones más recientes se descargan del servidor, que incluyen los cambios que acaba de realizar en el nombre del campo. Espere varios segundos para que finalice la actualización.

  2. Elija Nueva consulta para crear una consulta.

  3. En el Editor de Power Query, elija el vínculo Haga clic aquí para agregar una cláusula para agregar una fila, seleccione la celda Campo en blanco y, en la celda, escriba Rank. El siguiente mensaje que aparece encima de la lista de resultados. Este mensaje indica que no se encuentra el rango.

    Ejecute la consulta para ver los resultados de la consulta. TF51005: la consulta hace referencia a un campo que no existe. El error se debe a <<Rank>>.

  4. Elimine el valor Rank de la celda Field y escriba Important Rank (Clasificación importante) en la celda.

  5. Seleccione <> en la celda Operador y escriba 1 en la celda Valor .

  6. En la barra de herramientas Consulta, elijaEjecución de la consulta Ejecutar.

  7. Abra el menú contextual de cualquier fila en los resultados y seleccione Opciones de columna. Desplácese hacia abajo en la lista Columnas disponibles. Observe que el campo Rank ya no está presente, pero el campo Clasificación importante está presente.

  8. Seleccione Clasificación importante en el cuadro Columnas disponibles y, a continuación, elija el > botón (agregar columnas seleccionadas). Elija Aceptar.

    Observe que se ha cambiado el nombre descriptivo de Microsoft.VSTS.Common.Rank de Rank a Clasificación importante en todo el generador de consultas y la lista de resultados.

  9. Cierre la consulta. Elija No cuando se le pida que guarde la consulta.

  10. Cree un nuevo elemento de trabajo Tarea. Elija el vínculo Nuevos elementos de trabajo y, a continuación, elija Tarea.

    Este elemento de trabajo se crea a partir del tipo de elemento de trabajo que ha cambiado e importado.

  11. Observe que, en el cuadro Estado , la etiqueta del campo cuyo nombre ha cambiado, Rank, no ha cambiado. Esto se debe a que las etiquetas de campo de los formularios de elemento de trabajo se limitan al proyecto primario y son independientes del nombre de campo de todo el servidor especificado.

    Nota:

    Para obtener más información sobre cómo cambiar las etiquetas de campo en formularios de elementos de trabajo, vea Referencia de elementos XML de control.

  12. Cierre la nueva tarea y elija No cuando se le pida que guarde el elemento de trabajo.

Cambiar el informe como valor de un campo

El siguiente comando especifica la capacidad de notificar el tipo del campo DateTime AdventureWorks.CreatedOn a la dimensión. Los datos de este campo entran en el almacenamiento y las bases de datos de Analysis Services para que se puedan usar para filtrar los informes.

witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.CreatedOn /reportingtype:dimension  

El siguiente comando especifica la capacidad de notificar el tipo del campo Double AdventureWorks.Field que se va a medir. Todas las medidas se agregan por suma.

witadmin reportfield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.Field /reportingtype:measure  

Habilitación de la sincronización de un campo de nombre de persona personalizado

El comando siguiente habilita la sincronización para el campo de elemento de trabajo AW. CustomerName definido para Collection1 en AdventureWorksServer.

Compruebe el tipo de datos del campo que desea convertir.

  1. Compruebe el tipo de datos asignado al campo, como MyCompany.CustomerName, que desea sincronizar escribiendo el siguiente comando:

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomerName  
    

Habilitar sincronización

  1. Para habilitar la sincronización de un campo con nombre de persona, escriba el siguiente comando, sustituyendo los datos por los argumentos que se muestran aquí:

    witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomerName /syncnamechanges:true  
    
  2. Aparece el siguiente mensaje de confirmación:

    Esto cambiará las propiedades del campo {0} en Team Foundation Server. ¿Desea continuar?

  3. Escriba 0 para confirmar que desea cambiar el campo o 1 para cancelar la solicitud.

    Si la solicitud de cambio se realiza correctamente, aparece el siguiente mensaje de confirmación:

    El campo se actualizó.

    Si se produce un error en la solicitud de cambio, aparece un mensaje de error. Los errores más comunes que se pueden cometer son intentar cambiar un campo de referencia del sistema o intentar cambiar un campo de un tipo de datos distinto de String. Estas operaciones no se admiten.

Eliminar un campo

Antes de eliminar un campo, compruebe que el campo no está en uso. Si el campo está en uso, primero debe quitar el campo de los tipos de elemento de trabajo que lo usan antes de eliminarlo de la colección de proyectos. El siguiente comando elimina el campo AdventureWorks.Field de Collection1:

witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.Field  

Comprobación de que un campo no está en uso

  1. Escriba el siguiente comando y especifique el nombre de referencia para el campo de elemento de trabajo, como MyCompany.MyProcess.MyField.

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.MyProcess.MyField  
    

    En la información que se muestra para el campo , compruebe que el valor de Use es "Not In Use" como se indica a continuación en este ejemplo.

    Field: MyCompany.MyProcess.MyField  
    Name: MyField  
    Type: String  
    Reportable As: dimension  
    Use: Not In Use  
    Indexed: False  
    
  2. Si el campo Usar indica que el campo está en uso, debe eliminarlo de cada tipo de elemento de trabajo para cada proyecto que aparezca. Por ejemplo, el Microsoft.VSTS.TCM.SystemInfo campo indica que está siendo utilizado por los tipos de elemento de trabajo Bug y Code Defect para cuatro proyectos: Arroyo, Desert, Palm y Springs.

    Field: Microsoft.VSTS.TCM.SystemInfo  
    Name: System Info  
    Type: Html  
    Reportable As: None  
    Use: Arroyo (Bug), Desert (Bug), Palm (Bug), Springs (Bug, Code Defect)  
    Indexed: False  
    

    Para poder eliminar este campo, debe quitarlo de cada uno de los tipos de elementos de trabajo enumerados para cada proyecto para el que se define. Para quitar el campo, modifique la definición del tipo de elemento de trabajo eliminando los FIELD elementos y Control que contienen el nombre de referencia de campo. Consulte Importación, exportación y administración de tipos de elementos de trabajo, referencia de elementos FIELD (definición) y Control.

Eliminación de un campo de una colección de proyectos

Escriba el siguiente comando para eliminar el MyCompany.MyProcess.MyField campo y, a continuación, elija Entrar.

witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:RefName  

Escriba y en el símbolo del sistema de confirmación para completar este paso.