Compartir a través de


Administrar campos de elemento de trabajo

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

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.

La herramienta de línea de comandos witadmin proporciona funcionalidades eficaces para administrar campos de elementos de trabajo en la colección de proyectos. Tanto si necesita cambiar el nombre de los campos, ajustar los tipos de datos o configurar la sincronización con proveedores de identidades, estos comandos le proporcionan un control pormenorizado sobre la experiencia de seguimiento del trabajo.

Qué puede hacer con los comandos de campo witadmin

Use los siguientes comandos witadmin para administrar campos en todos los tipos y proyectos de elementos de trabajo de la colección:

  • changefield: modifique los atributos de campo que aplican toda la colección, entre los que se incluyen:
    • Conversión de tipos de datos entre PlainText formatos y HTML

    Importante

    Al actualizar Azure DevOps Server, el campo Descripción (System.Description) convierte automáticamente de PlainText a HTML. Use el changefield comando para revertirlo si es necesario.

    • Nombres descriptivos que se muestran en las consultas de elementos de trabajo (puede diferir de las etiquetas de formulario)
    • Atributos de informes para la integración del almacenamiento de datos
    • Sincronización de identidades con Microsoft Entra ID o Active Directory
  • deletefield: quitar campos no utilizados de la colección
  • listfields: ver los atributos de campo y el uso entre proyectos

Sugerencia

  • Para agregar campos globales en entornos XML locales, modifique el archivo de flujo de trabajo global e impórtelos a la colección.
  • El comando witadmin indexfield está en desuso. La indexación de campos se produce automáticamente.

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

Tarea Permisos necesarios
Enumerar campos Ver el conjunto de permisos de información de nivel de proyecto en Permitir para el proyecto en la colección
Eliminar o cambiar el nombre de los campos Miembro del grupo de seguridad Administradores de colecciones de proyectos
Cambiar atributos de campo Miembro 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 ejecuta Windows Server. 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.

Sintaxis

Use los siguientes patrones de sintaxis de comandos para administrar campos de elementos de trabajo con la herramienta witadmin:

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.
/name:NewName Especifica el nuevo nombre para el campo.
/syncnamechanges Especifica usar el campo de elemento de trabajo para almacenar nombres y actualizar a medida que se realizan cambios en el identificador de Microsoft Entra, Active Directory o 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. Especifique false para deshabilitar la sincronización del 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 el identificador de Entra de Microsoft y Active Directory

Configure campos personalizados de nombre de persona para actualizar automáticamente cuando los nombres de usuario cambien en el proveedor de identidades.

Cuándo habilitar la sincronización

Solo campos personalizados: debe habilitar manualmente la sincronización para cualquier campo de elemento de trabajo personalizado que se use para asignar nombres de persona.

Campos del sistema: todos los campos integrados de nombre de persona tienen habilitada automáticamente la sincronización:

  • System.AssignedTo
  • System.ChangedBy
  • System.CreatedBy

Soporte del proveedor de identidad

Medio ambiente Proveedor de identidades
Azure DevOps Services Microsoft Entra ID
Azure DevOps Server Active Directory o grupo de trabajo

Funcionamiento de la sincronización

Estado Comportamiento
Antes de habilitar El campo muestra cadenas de texto estático
Después de habilitar El campo muestra el nombre de usuario actual del proveedor de identidades.
Cuándo cambian los nombres Campos con syncnamechanges=true actualización automática

Restricciones de nombre de grupo

Al habilitar el syncnamechanges atributo en un campo String, acepta nombres de usuario válidos, pero no permite nombres de grupo si se aplica alguna de estas condiciones:

  • VALIDUSER regla especificada en todos los tipos de elementos de trabajo
  • VALIDUSER regla especificada para un tipo de elemento de trabajo específico
  • ALLOWEDVALUES regla especificada con criterios de filtro que excluye grupos

Ámbito de configuración

Importante

Debe habilitar la sincronización para cada campo de cada colección de proyectos que contenga los campos personalizados.

Para obtener más información, consulte:

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. 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.RankRango 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 seleccione 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 ActualizarActualizar.

    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 consultas, 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 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 el nombre descriptivo de Microsoft.VSTS.Common. Se cambia el nombre de Rank a Importante Rank 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 no ha cambiado. 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.

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 Azure DevOps Server. ¿Desea continuar?

  3. Escriba 0 para confirmar que desea cambiar el campo o 1 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 Error y Defecto de código 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 elemento 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.