Informe de ejemplo de fallos de etapas de canalización

Servicios de Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

En este artículo se muestra cómo crear un informe de fallos en las etapas diarias de un pipeline. Este informe es similar al gráfico de tendencias de errores del informe de velocidad de paso de canalización.

En la imagen siguiente se muestra un ejemplo de un informe de errores de fase para una canalización específica.

Captura de pantalla del informe de columnas apiladas de fallos por etapas de Power BI Pipelines.

Nota:

Las consultas de ejemplo en este artículo requieren la versión v3.0-preview o posterior de la fuente OData de Analytics. Comparta sus comentarios.

Categoría Requisitos
Niveles de acceso - Miembro del proyecto.
- Al menos acceso básico .
Permisos De forma predeterminada, los miembros del proyecto tienen permiso para consultar Analytics y crear vistas. Para obtener más información sobre otros requisitos previos relacionados con las actividades de habilitación de servicios y características y seguimiento de datos generales, consulte Permisos y requisitos previos para acceder a Analytics.

Nota:

En este artículo se da por hecho que has leído Información general de informes de ejemplo mediante consultas de OData y tienes un conocimiento básico de Power BI.

Consultas de ejemplo

Puede crear informes de tendencias de etapas, tareas o fallos del trabajo consultando el PipelineRunActivityResults conjunto de entidades.

Nota:

Para buscar las propiedades disponibles para el filtrado o los informes, consulte la referencia de Metadata para Azure Pipelines. Puede filtrar las consultas o devolver propiedades mediante cualquier valor Property definido en un EntityType, o cualquier valor NavigationPropertyBinding Path enumerado para un EntitySet. Cada EntitySet se asigna a EntityType, que describe el tipo de dato de cada propiedad.

Tendencia de fallos de etapa

Para ver la tendencia de error de fase de una canalización específica a partir de una fecha especificada, use las siguientes consultas.

Copie y pegue la siguiente consulta Power BI directamente en la ventana Get Data>Blank Query. Para obtener más información, consulte Información general sobre informes de ejemplo mediante consultas de OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRunActivityResults?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelinename}' "
                &"and PipelineRunCompletedOn/Date ge {startdate} "
                &"and PipelineRunOutcome eq 'Failed' "
        &"and TaskOutcome eq 'Failed' "
        &") "
            &"/groupby( "
                &"(PipelineRunCompletedOn/Date, PipelineRunId, PipelineJob/StageName ), "
                &"aggregate (FailedCount with sum as FailedCount)) "
            &"/groupby( "
                &"(PipelineRunCompletedOn/Date, PipelineJob/StageName ), "
            &"aggregate "
        &"(cast(FailedCount gt 0, Edm.Int32) with sum as FailedStageCount)) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Cadenas de sustitución y desglose de consultas

Reemplace las cadenas siguientes por los valores. No incluya los corchetes {} en la sustitución. Por ejemplo, si el nombre de su organización es "Fabrikam", reemplace {organization} por Fabrikam, no por {Fabrikam}.

  • {organization} - El nombre de la organización
  • {project} - El nombre de tu proyecto de equipo
  • {pipelinename} : el nombre de la canalización. Ejemplo: Fabrikam hourly build pipeline
  • {startdate} - La fecha para comenzar tu informe. Formato: YYYY-MM-DD seguido de Z (indicador UTC). Ejemplo: 2026-09-01Z representa el 1 de septiembre de 2026. No incluya entre comillas ni corchetes.

Desglose de consultas

En la tabla siguiente se describe cada parte de la consulta.

Elemento de consulta

Descripción


$apply=filter(

Iniciar cláusula filter().

Pipeline/PipelineName eq '{pipelinename}'

Devuelve los resultados de la tarea para una canalización específica.

and PipelineRunCompletedOn/Date ge {startdate}

Devuelve los resultados de la tarea para las ejecuciones de canalización en o después de la fecha especificada.

and PipelineRunOutcome eq 'Failed'

Devuelve los resultados de la tarea en los que se produce un error en el resultado de la compilación.

and TaskOutcome eq 'Failed'

Devuelve los resultados de la tarea en los que se produce un error en el resultado de la tarea.

)

Cláusula de cierre filter.

/groupby(

Iniciar cláusula groupby().

(PipelineRunCompletedOn/Date, PipelineRunId, PipelineJob/StageName ),

Agrupe por fecha de finalización de la ejecución de canalización, id. de ejecución de canalización y nombre de fase.

aggregate (FailedCount with sum as FailedCount))

Para cada día, identificador de ejecución de la canalización y fase, contar el número total de fallos. Este valor representa el número total de errores de tarea, no errores de fase.

/groupby(

Iniciar cláusula groupby().

(PipelineRunCompletedOn/Date, PipelineJob/StageName ),

Agrupar por día y nombre de fase.

aggregate

Iniciar cláusula aggregate.

(cast(FailedCount gt 0, Edm.Int32) with sum as FailedStageCount))

Para cada día, sumar el número de veces que se produjo un error en una fase y, a continuación, cerrar la cláusula aggregate.

Tendencia de errores de tarea

Para ver la tendencia de errores de tarea, use las siguientes consultas.

Copie y pegue la siguiente consulta Power BI directamente en la ventana Get Data>Blank Query. Para obtener más información, consulte Información general sobre informes de ejemplo mediante consultas de OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRunActivityResults?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelinename}' "
                &"and PipelineRunCompletedOn/Date ge {startdate} "
                &"and PipelineRunOutcome eq 'Failed' "
        &"and TaskOutcome eq 'Failed' "
        &") "
            &"/groupby( "
                &"(PipelineRunCompletedOn/Date, TaskDisplayName), "
                &"aggregate "
            &"(FailedCount with sum as FailedCount)) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Tendencia de fallos de tareas

Para ver la tendencia de fallos de la tarea, utilice las siguientes consultas.

Copie y pegue la siguiente consulta Power BI directamente en la ventana Get Data>Blank Query. Para obtener más información, consulte Información general sobre informes de ejemplo mediante consultas de OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRunActivityResults?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelinename}' "
                &"and PipelineRunCompletedOn/Date ge {startdate} "
                &"and PipelineRunOutcome eq 'Failed' "
        &"and TaskOutcome eq 'Failed' "
        &") "
            &"/groupby( "
                &"(PipelineRunCompletedOn/Date, PipelineRunId, PipelineJob/JobName ), "
                &"aggregate (FailedCount with sum as FailedCount)) "
            &"/groupby( "
                &"(PipelineRunCompletedOn/Date, PipelineJob/JobName ), "
            &"aggregate "
        &"(cast(FailedCount gt 0, Edm.Int32) with sum as FailedJobCount)) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

(Opcional) Cambiar el nombre de la consulta

Puede cambiar el nombre de la etiqueta de consulta predeterminada, Query1, a algo más significativo. Escriba un nuevo nombre en el panel Configuración de consulta .

Captura de pantalla de las opciones del menú de consulta de Power BI, renombrar consulta.

Expandir columnas en Editor de Power Query

Antes de crear el informe, expanda las dos columnas siguientes. Para obtener más información sobre cómo expandir elementos de trabajo, consulte Transformar los datos de Analytics para generar informes de Power BI.

  • Expandir PipelineJob a PipelineJob.StageName
  • Expandir PipelineRunCompletedOn a PipelineRunCompletedOn.Date

Cambio del tipo de datos de columna

En el menú Transformar , cambie el tipo de datos de la FailedStageCount columna a Número entero. Para obtener información sobre cómo hacerlo, consulte Transformación de un tipo de datos de columna.

(Opcional) Cambiar el nombre de los campos de columna

Puede cambiar el nombre de los campos de columna para que sean más fáciles de usar. Para obtener información sobre cómo hacerlo, consulte Cambiar el nombre de los campos de columna.

Cierre la consulta y aplique los cambios

Cuando termine todas las transformaciones de datos, seleccione Cerrar y aplicar en el menú Inicio . Esta acción guarda la consulta y le devuelve a la pestaña Report en Power BI.

Captura de pantalla de Editor de Power Query opción Cerrar y aplicar.

Crea el informe de gráfico de columnas apiladas

  1. En Power BI, en Visualizaciones, elija el informe de gráfico de columnas apiladas . En el ejemplo siguiente se supone que no se ha cambiado el nombre de ninguna columna.

    Captura de pantalla de las selecciones de campos de visualización para los fallos por etapas en el informe de gráfico de columnas apiladas.

  2. Agregue PipelineRunCompletedOn.Date al eje X, haga clic con el botón derecho en él y seleccione PipelineRunCompletedOn.Date, en lugar de Jerarquía de fechas.

  3. Agregue FailedStageCount al eje Y, haga clic con el botón derecho en él y asegúrese de que se ha seleccionado Suma.

  4. Agregue PipelineJob.StageName a Leyenda.

  5. Para cambiar el título del informe, la leyenda u otros elementos visuales del informe, seleccione el icono Formato de visual en el panel de Visualizaciones y ajuste una o varias opciones de configuración.

El informe debe tener un aspecto similar al de la imagen siguiente.

Captura de pantalla del informe de columnas apiladas de fallos por etapa del ejemplo de Power BI Pipelines.