Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
PlainTextformatos yHTML
Importante
Al actualizar Azure DevOps Server, el campo Descripción (System.Description) convierte automáticamente de
PlainTextaHTML. Use elchangefieldcomando 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
-
Conversión de tipos de datos entre
-
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 indexfieldestá 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/CollectionNameSi 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 .typenameEspecifique 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.AssignedToSystem.ChangedBySystem.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:
-
VALIDUSERregla especificada en todos los tipos de elementos de trabajo -
VALIDUSERregla especificada para un tipo de elemento de trabajo específico -
ALLOWEDVALUESregla 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:
- 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. 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.RankRango 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
yy 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
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 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>>.Elimine el valor Rank de la celda Field y escriba
Important Ranken la celda.Seleccione <> en la celda Operador y escriba
1en 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 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.
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 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.
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:trueAparece el siguiente mensaje de confirmación:
Esto cambiará las propiedades del campo {0} en Azure DevOps Server. ¿Desea continuar?
Escriba
0para confirmar que desea cambiar el campo o1cancelar 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.MyFieldEn 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: FalseSi 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.SystemInfocampo 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: FalsePara 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
FIELDelementos yControlque 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.