Campos de consulta, operadores y macros

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

Sugerencia

¿La primera vez que consulta? Comience con Definir una consulta para conocer los pasos de procedimientos o la referencia rápida de consultas para obtener ejemplos.

Use esta guía de referencia para buscar tipos de datos de campo, operadores de consulta, macros y variables al compilar consultas en el Editor de Power Query. Todos los operadores y macros se admiten en Azure Boards; algunos solo se aplican a versiones específicas de Azure DevOps Server.

Para ver ejemplos rápidos y tareas del editor, consulte Referencia rápida de consultas y Administración y organización de consultas.

Requisitos previos

Categoría Requisitos
Pertenencia a proyectos Debe agregarse como miembro del proyecto.
Niveles de acceso - Para ver y ejecutar consultas compartidas: debe ser miembro de Project.
- Para agregar y guardar una consulta compartida: debe tener al menos acceso básico.
Permisos Asegúrese de que el permiso De contribución está establecido en Permitir para la carpeta en la que desea agregar una consulta. Es posible que su organización tenga que configurar manualmente el grupo Colaboradores para conceder este permiso.

Nota

Necesita un nivel de acceso suficiente y permiso De contribución para guardar consultas compartidas. El acceso básico no es suficiente.

Categoría Requisitos
Pertenencia a proyectos Debe agregarse como miembro del proyecto.
Niveles de acceso - Para ver y ejecutar consultas compartidas: debe ser miembro de Project.
- Para agregar y guardar una consulta compartida: debe tener al menos acceso básico.
Permisos Asegúrese de que el permiso De contribución está establecido en Permitir para la carpeta en la que desea agregar una consulta. Es posible que su organización tenga que configurar manualmente el grupo Colaboradores para conceder este permiso.

Nota

Necesita un nivel de acceso suficiente y permiso De contribución para guardar consultas compartidas. El acceso básico no es suficiente.

Valores y tipos de datos de campo de consulta

Especifique un valor que coincida con el tipo de datos de un campo. En la tabla siguiente se enumeran los tipos de datos admitidos:

Nota

Para Azure Boards (nube), el tipo de datos coincide con el campo que se muestra en la página Process > Fields. Para las implementaciones locales, el tipo de datos corresponde al type atributo en una FIELD definición. Consulte Campos de elemento de trabajo y atributos de campo para obtener más información.

Tipo de dato Description
Booleano Almacena un valor True/False.
DateTime o Fecha y hora Use una variable de fecha (por ejemplo, @Today o ) o @Today-1una fecha explícita como 01/01/2025. Introduzca las fechas en el formato configurado en su perfil. Para obtener ejemplos de consultas, vea Query by date or @CurrentIteration. En el caso de las consultas WIQL, también puede especificar fechas en UTC. Consulte Sintaxis para el lenguaje de consulta de elementos de trabajo (WIQL).
Doble o Decimal Almacena un número real, como 0,2 o 3,5. Consulte Consulta por campos numéricos para obtener ejemplos.
GUID Almacena una cadena de identificador única.
Historial Campo con formato personalizado usado para la información histórica (el campo Historial ). Cuando la búsqueda de texto completo está disponible, este campo se indexa para las consultas de texto completo. Consulte Historial y auditoría.
HTML Almacena texto con formato, como Descripción o Pasos de reproducción. Cuando la búsqueda de texto completo está disponible, estos campos se indexan. Para consultar campos de texto enriquecido, consulte Consulta por títulos, identificadores y campos de texto enriquecido.
Identidad Almacena una cadena de texto corta que identifica una identidad de usuario.
Entero Almacena un entero de 32 bits con signo, como 0, 1, 2 o 34.
Texto sin formato o Campo de texto (varias líneas) Almacena valores de texto largos, como información de inicio de la aplicación. Los campos se indexan para la búsqueda de texto completo cuando se admite. Consulte Consulta por títulos, identificadores y campos de texto enriquecido.
picklistDouble Campo personalizado que contiene una lista de selección de valores decimales.
picklistInteger Campo personalizado que contiene una lista de selección de valores enteros.
picklistString Campo personalizado que contiene una lista de selección de valores de texto corto (255 caracteres o menos).
Campo de cadena o de texto (una sola línea) Almacena texto corto de hasta 255 caracteres Unicode. Los equipos suelen usar estos campos para listas de selección o menús desplegables.
TreePath Representa una estructura de árbol ramificada, como Ruta de área o Ruta de iteración. Elija un valor de nodo válido. Puede filtrar por igualdad, desigualdad, "Under" o "Not Under". Use los In operadores y Not In para especificar varios valores. Defina estructuras de árbol para un proyecto ( rutas de acceso de área y rutas de acceso de iteración ) y seleccione los nodos que se van a asociar a los equipos. Para obtener ejemplos de consultas, consulte Consulta por área o ruta de acceso de iteración y Consulta por fecha o iteración actual.

Nota

Los picklist... tipos solo se aplican a los campos personalizados definidos para un proceso heredado.

Patrón de fecha y hora

El patrón de fecha y hora que escriba para los campos DateTime debe coincidir con el que seleccione mediante el perfil. Para ver o cambiar la selección, consulte Establecimiento de preferencias de usuario.

Captura de pantalla de las opciones desplegables de Patrón de fecha en el panel Hora y configuración regional. Captura de pantalla de las opciones desplegables de Patrón de hora en el panel Hora y configuración regional.

Captura de pantalla del panel Hora y configuración regional con los campos Patrón de fecha y Patrón de hora.

Operadores de consulta

Use operadores para definir cómo debe relacionarse un valor de cláusula con el valor de campo de un elemento de trabajo. Para los tipos de datos de campo, consulte Referencia de los campos de elementos de trabajo. Para obtener ayuda para crear consultas, consulte Definición de una consulta.

Operador de consulta Cuando el operador devuelve elementos de trabajo coincidentes Tipos de datos aplicables
= Coincide con el valor de la cláusula . Number (Double/Decimal/GUID/Integer), String, DateTime, TreePath
<> No coincide con el valor de la cláusula. Number, String, DateTime, TreePath
> Es mayor que el valor de la cláusula. Número, Cadena, Fecha y Hora
< Es menor que el valor de la cláusula. Número, Cadena, Fecha y Hora
>= Es mayor o igual que el valor de la cláusula. Número, Cadena, Fecha y Hora
<= Es menor o igual que el valor de la cláusula. Número, Cadena, Fecha y Hora
Campo Coincide con el valor de otro campo especificado (debe ser el mismo tipo de datos). Nombre de un campo del mismo tipo de datos (los campos booleanos comparan la igualdad con otros campos).
<>[Campo] No coincide con el valor de otro campo especificado. Nombre de un campo del mismo tipo de datos.
>[Campo] Es mayor que el valor de otro campo especificado. Nombre de un campo del mismo tipo de datos.
<[Campo] Es menor que el valor de otro campo especificado. Nombre de un campo del mismo tipo de datos.
>=[Campo] Es mayor o igual que el valor de otro campo especificado. Nombre de un campo del mismo tipo de datos.
<=[Campo] Es menor o igual que el valor de otro campo especificado. Nombre de un campo del mismo tipo de datos.
Contains Contiene una coincidencia de texto exacta o parcial. String
No contiene No contiene ninguna coincidencia de texto, ni exacta ni parcial. String
Contiene palabras Coincide con una frase o palabras exactas (admite comodines al final *). Límite: 100 caracteres. Este operador utiliza la indexación de texto completo; consulta la sección Texto completo de este artículo para conocer los requisitos del servidor y de la colación. Campos de texto largo indexados para la búsqueda de texto completo (Texto sin formato, HTML, Historial y Título).
No contiene palabras Excluye los elementos que contienen la frase o palabras especificadas. Límite: 100 caracteres. Use Contains Words con cláusulas complementarias para incluir o excluir términos clave. Campos de texto indexados para la búsqueda de texto completo.
En Coincide con cualquier valor de un conjunto delimitado (use el separador de lista regional del sistema operativo, normalmente una coma). Number, String, DateTime, TreePath
Está vacío Coincide con los elementos en los que un campo HTML no contiene contenido (ningún valor especificado). Compatible con Azure Boards y Azure DevOps Server. HTML
No está vacío Coincide con los elementos en los que un campo HTML contiene contenido. Compatible con Azure Boards y Azure DevOps Server. HTML
No en el Excluye los valores de un conjunto delimitado (use el separador de lista regional). Compatible con Azure Boards y Azure DevOps Server. Number, String, DateTime, TreePath
En grupo Coincide con valores que pertenecen a un grupo nombrado (equipo, grupo de seguridad o categoría). Por ejemplo, use el grupo Colaboradores o un grupo de equipos denominado en el patrón [Project Name]\Team Name. Consulte Consulta por asignación o cambios de flujo de trabajo para obtener ejemplos. Utilice In Group solo con campos de tipo Cadena o Tipo de Elemento de Trabajo. Puede usar grupos de Microsoft Entra ID cuando la cuenta usa Microsoft Entra ID o grupos de Active Directory para el entorno local. Cadena de texto (coincide con el nombre de grupo o equipo) o tipo de elemento de trabajo
No en grupo Excluye a los miembros de un grupo específico. Cadena que coincide con un grupo de usuarios o una categoría de proyecto.
No pertenece a Excluye los elementos iguales o contenidos en el nodo de árbol especificado. TreePath
En Coincide con los elementos que son iguales o que están contenidos bajo el nodo del árbol especificado. TreePath
Fue Corresponde a un valor que un campo mantuvo en cualquier momento anterior. (Editor de Power Query: solo campos de cadena. La compatibilidad con DateTime requiere consultas WIQL directas). String, FechaHora

Sugerencia

Puede crear consultas WIQL que utilicen operadores (por ejemplo, Was Ever) con otros tipos de datos, como la ruta de iteración. Consulte Enumerar elementos de trabajo movidos fuera de un sprint para obtener un ejemplo.

Ejemplos de operadores comunes

Estos son ejemplos de consultas representativas que usan varios operadores:

Query Devoluciones
State = Active Elementos de trabajo con el estado "Activo"
Priority <> Low Todos los elementos excepto aquellos con prioridad baja
Created Date >= @Today-7 Elementos de trabajo creados en los últimos 7 días
Assigned To = @Me Elementos asignados al usuario actual
Tags Contains "frontend" Elementos con una etiqueta que contiene "frontend"
State In (Active, In Progress) Elementos en cualquiera de los dos estados
Area Path Under "Project\Web" Todos los elementos del área web, incluidas las subáreas
Assigned To In Group "[Project]\Developers" Elementos asignados a cualquier persona del grupo Desarrolladores
Description Contains Words "urgent" Elementos en los que la descripción contiene la palabra "urgente"

Búsquedas parciales y de texto completo

Use Contains o Does Not Contains para buscar coincidencias exactas o parciales en campos de texto largo. Estos operadores usan el índice de consulta. Utilice Contiene palabras o No contiene palabras para buscar frases exactas, o bien un carácter comodín al final (*). Estos operadores requieren el índice de texto completo.

Puede usar el carácter comodín solo al final de una palabra o frase parcial. Si desea ver algunos ejemplos, consulte Ejemplo de consultas de elemento de trabajo y Consulta de elementos de trabajo mediante el campo Historial.

Nota

No todas las implementaciones admiten la búsqueda de texto completo. Por ejemplo, SQL Express y algunas configuraciones de SQL en la nube no admiten la búsqueda de texto completo. En esas implementaciones, solo los operadores Contains y Does Not Contains están visibles.

Azure DevOps Server indexa campos de texto largo (Texto sin formato y HTML) y el campo Título para la búsqueda de texto completo cuando el SQL Server subyacente admite la indexación de texto completo.

La búsqueda de texto completo también requiere una colación SQL con un separador de palabras registrado para el idioma que utilice. Si la ordenación de la base de datos de la colección no coincide con un idioma admitido, es posible que los resultados no sean los esperados. En esos casos, use Contains o Does Not Contains en su lugar.

Para más información, vea Consultas de búsqueda de texto completo y la configuración de intercalación.

Operadores de combinación

Las consultas usan lógica AND para combinar varias cláusulas. Cada cláusula adicional filtra aún más los resultados. Por ejemplo:

  • State = Active AND Priority = High devuelve elementos de trabajo que están activos Y tienen prioridad alta.
  • State = Active AND State <> Closed devuelve elementos activos excepto los marcados como cerrados.
  • Assigned To = @Me AND State <> Done devuelve elementos que le han sido asignados y que no están completos.

Puede usar paréntesis para agrupar condiciones para consultas complejas en sintaxis WIQL directa:

  • (State = Active OR State = In Progress) AND Priority = High devuelve elementos de alta prioridad en estados activos o en curso.

Para obtener más ejemplos y detalles de sintaxis WIQL, consulte Sintaxis para el lenguaje de consulta de elementos de trabajo (WIQL).

Solución de problemas y errores comunes

Problema Causa probable Solución
Macro no devuelve ningún resultado @CurrentIteration solo funciona en el portal web; Es posible que las API REST y la CLI devuelvan resultados vacíos Use fechas directas en su lugar en scripts o API. Para obtener alternativas, consulte Consulta por fecha o iteración actual.
@TeamAreas consulta devuelve resultados inesperados La macro solo funciona con el campo Ruta de acceso del área ; usarlo con otros campos no tiene ningún efecto Compruebe que está filtrando por Ruta de acceso del área. Utilice en su lugar otros campos de ruta de árbol (ruta de iteración) con el operador Under.
Error del operador Contiene palabras La consulta supera el límite de 100 caracteres o usa la colocación de caracteres comodín no válida Reduzca el texto de la consulta a menos de 100 caracteres. Use el carácter comodín solo al final del término (por ejemplo, feature*), no al principio.
Error en la consulta de grupo El formato de nombre de grupo es incorrecto o el grupo no existe Use el formato exacto: Assigned To In Group "[Project]\\Team Name" para los equipos. Compruebe el nombre del grupo en la configuración del proyecto.
El operador Ha sido alguna vez no funciona con fechas Editor de Power Query no admite Was Ever en campos DateTime Use la sintaxis de WIQL directa en lugar del editor de consultas visuales. Para más información, consulte Sintaxis para el lenguaje de consulta de elemento de trabajo (WIQL).
La consulta de campo booleano no devuelve ningún resultado El valor distingue entre mayúsculas y minúsculas en las consultas WIQL Use el caso exacto: CustomBoolField = True o CustomBoolField = False (T/F mayúscula en WIQL).

Consulta de macros y variables

Use las macros siguientes para filtrar las consultas dinámicamente.

Nota

Las macros siguientes solo se admiten desde el portal web: @CurrentIteration, @CurrentIteration +/- n, @Follows, @MyRecentActivity, @RecentMentions, @RecentProjectActivity y @TeamAreas. Las consultas que contienen estas macros no funcionarán cuando se abran en Visual Studio/Team Explorer, Microsoft Excel o Microsoft Project.

Macro Description
[Any] Utilícelo con Tipo de elemento de trabajo o Estado para buscar en todos los tipos o estados. Por ejemplo, Work Item Type=[Any] quita el filtrado basado en tipos.
@CurrentIteration Use con Iteration Path para filtrar los elementos de trabajo en el sprint actual según el contexto del equipo actual. Consulte Consulta por fecha o iteración actual para obtener ejemplos. @CurrentIteration solo funciona cuando se ejecuta desde el portal web (no en las API REST ni en algunas operaciones de copia o clonación).
@CurrentIteration +/-n Use la ruta de iteración para incluir sprints relativos a la iteración actual (por ejemplo, @CurrentIteration-1 o @CurrentIteration+2). Se admite en el portal web para Azure Boards y Azure DevOps Server.
@Follows Utilícelo con ID y el operador In para mostrar una lista de los elementos de trabajo que sigue en el proyecto. Consulte Seguir un elemento de trabajo o una solicitud de incorporación de cambios. Esta macro solo funciona desde el portal web.
@Me Use con campos de identidad para filtrar los elementos vinculados a su cuenta (por ejemplo, Created By=@Me). Consulte Consulta por asignación, flujo de trabajo o cambios en el panel.
@MyRecentActivity Usa con ID y In para enumerar los elementos de trabajo que has visto o actualizado en los últimos ~30 días. Consulte el pivote Mi actividad de la página Elementos de trabajo para ver la misma lista.
@Project Use con Team Project para filtrar los elementos de trabajo en el proyecto actual (por ejemplo, Team Project=@Project). Consulte Consulta entre proyectos.
@RecentMentions Úselo con ID y In para mostrar una lista de los elementos de trabajo en los que se le menciona en las discusiones. Consulte el pivote Mencionado de la página Elementos de trabajo.
@RecentProjectActivity Úsalo con ID y In para mostrar una lista de los elementos de trabajo actualizados recientemente en todo el proyecto. La macro devuelve hasta 5000 elementos; la ventana real depende de la actividad del proyecto.
@StartOfDay Use con campos DateTime para filtrar en relación con hoy (por ejemplo, Closed Date>=@StartOfDay-7).
@StartOfMonth Use con campos DateTime para filtrar con respecto al inicio del mes (por ejemplo, Created Date>=@StartOfMonth-3).
@StartOfWeek Use con campos DateTime para filtrar en relación con el inicio de la semana (por ejemplo, Changed Date>=@StartOfWeek-2).
@StartOfYear Use con campos DateTime para filtrar en relación con el inicio del año (por ejemplo, Target Date>=@StartOfYear).
@TeamAreas Úsalo solo con Ruta de área y el operador = para buscar elementos asignados a las rutas de área de un equipo (por ejemplo, Area Path=@TeamAreas [Fabrikam Fiber]\Web). Se admite en el portal web para Azure Boards y Azure DevOps Server.
@Today Use con campos DateTime para filtrar en relación con hoy (por ejemplo, Created Date>=@Today-7). Consulte Consulta por fecha o iteración actual.

Ejemplos de macros comunes

Estos son ejemplos de consultas representativas que usan macros para realizar consultas dinámicas:

Query Devoluciones (Portal web)
Iteration Path = @CurrentIteration Elementos de trabajo en el sprint actual
Iteration Path = @CurrentIteration-1 Elementos de trabajo del sprint anterior
Assigned To = @Me Elementos asignados al usuario actual
Created Date >= @Today-30 Elementos creados en los últimos 30 días
State = Active AND Area Path = @TeamAreas [Project]\MyTeam Elementos activos en el área de tu equipo
Work Item Type = [Any] Todos los tipos de elementos de trabajo (quita el filtrado de tipos)
Assigned To In Group @Follows Elementos asignados a las personas que sigue

Nota

Las macros como @CurrentIteration, @Me, @Followsy @TeamAreas solo funcionan en el portal web. En el caso de las API REST, la CLI y los Power BI, use fechas directas e identificadores de usuario en su lugar. Para obtener alternativas, consulte Consulta por fecha o iteración actual.

REST API

Para interactuar mediante programación con las consultas, consulte uno de estos recursos sobre la API REST: