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 oHTML
.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
aHTML
. Con elchangefield
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 Community
la 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 Community
la 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 Enterprise
la 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 true
en . 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:
- Nombre que se muestra en el formulario de elemento de trabajo. Vea Elementos WebLayout y Control o Referencia de elementos XML de Control.
- Texto de ayuda. Consulte Reglas y evaluación de reglas.
- Valores permitidos o elementos dentro de una lista de selección o menú desplegable. Vea ALLOWEDVALUES, SUGGESTEDVALUES y elementos XML PROHIBITEDVALUES.
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
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"
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
En Team Explorer, elija 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.
Elija Nueva consulta para crear una consulta.
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>>.
Elimine el valor Rank de la celda Field y escriba Important Rank (Clasificación importante) en la celda.
Seleccione <> en la celda Operador y escriba 1 en la celda Valor .
En la barra de herramientas Consulta, elija Ejecutar.
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.
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.
Cierre la consulta. Elija No cuando se le pida que guarde la consulta.
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.
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.
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
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
Aparece el siguiente mensaje de confirmación:
Esto cambiará las propiedades del campo {0} en Team Foundation Server. ¿Desea continuar?
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
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
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 yControl
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.