Informe de ejemplo de errores de fase de canalización

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

En este artículo se muestra cómo crear un informe de errores de fase diaria de una canalización. Este informe es similar al gráfico "Tendencia de errores" del informe de velocidad de paso de canalización.

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

Captura de pantalla del informe de columnas apiladas de canalizaciones de Power BI en fase.

Importante

La integración y el acceso de Power BI a la fuente OData del servicio Analytics están disponibles con carácter general para Azure DevOps Services y Azure DevOps Server 2020 y versiones posteriores. Las consultas de ejemplo proporcionadas en este artículo solo son válidas en Azure DevOps Server 2020 y versiones posteriores, y dependen de la versión v3.0-preview o posterior. Le recomendamos que use estas consultas y nos proporcione sus comentarios.

Requisitos previos

  • Para ver los datos de Analytics y consultar el servicio, debe ser miembro de un proyecto con acceso básico o superior. De forma predeterminada, a todos los miembros del proyecto se les conceden permisos para consultar Analytics y definir vistas de Analytics.
  • Para obtener información sobre otros requisitos previos relacionados con la habilitación de servicios y características y las actividades generales de seguimiento de datos, consulte Permisos y requisitos previos para acceder a Analytics.

Nota:

En este artículo se supone que ha leído Información general de informes de ejemplo mediante consultas de OData y que tiene conocimientos básicos de Power BI.

Consultas de ejemplo

Los informes de tendencias de fase, tarea o error del trabajo se pueden crear consultando el PipelineRunActivityResults conjunto de entidades.

Nota:

Para determinar las propiedades disponibles con fines de filtro o informe, consulte Referencia de metadatos para Azure Pipelines. Puede filtrar las consultas o devolver propiedades mediante cualquiera de los Property valores de un EntityType valor o NavigationPropertyBinding Path disponible con .EntitySet Cada EntitySet uno corresponde a un objeto EntityType. Para obtener más información sobre el tipo de datos de cada valor, revise los metadatos proporcionados para el correspondiente EntityType.

Tendencia de errores preconfigurado

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

Puede pegar la consulta de Power BI que se muestra a continuación directamente en la ventana Obtener consulta en blanco de datos>. Para obtener más información, consulte Introducción a los 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

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

  • {organization} - El nombre de la organización
  • {project} - El nombre del proyecto de equipo
  • {pipelinename} : el nombre de la canalización. Ejemplo: Fabrikam hourly build pipeline
  • {startdate} - La fecha de inicio del informe. Formato: AAAA-MM-DDZ. Ejemplo: 2021-09-01Z representa el 1 de septiembre de 2021. No incluya entre comillas o corchetes y use dos dígitos tanto para el mes como para la fecha.

Desglose de consultas

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

Elemento de consulta

Descripción


$apply=filter(

Cláusula Start 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 Close filter .

/groupby(

Cláusula Start groupby() .

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

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

aggregate (FailedCount with sum as FailedCount))

Para cada día, id. de compilación y fase; contar el número total de errores. Será el número total de errores de tarea y no los errores de fase.

/groupby(

Cláusula Start groupby() .

(PipelineRunCompletedOn/Date, PipelineJob/StageName ),

Agrupar por día y nombre de fase.

aggregate

Cláusula Start 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 aggregate cláusula .

Tendencia a errores de tareas

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

Puede pegar la consulta de Power BI que se muestra a continuación directamente en la ventana Obtener consulta en blanco de datos>. Para obtener más información, consulte Introducción a los 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 a errores de trabajo

Para ver la tendencia de error inteligente del trabajo, use las siguientes consultas.

Puede pegar la consulta de Power BI que se muestra a continuación directamente en la ventana Obtener consulta en blanco de datos>. Para obtener más información, consulte Introducción a los 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. Simplemente escriba un nuevo nombre en el panel Configuración de consulta.

Captura de pantalla de las opciones del menú de consulta de Power BI, cambiar el nombre de la consulta.

Expandir columnas en Editor de Power Query

Antes de crear el informe, deberá expandir las dos columnas siguientes. Para obtener información sobre cómo expandir elementos de trabajo, consulte Transformación de datos de Análisis 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 Quién le Number. 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 a los que sean más fáciles de usar. Por ejemplo, puede cambiar el nombre de la columna Pipeline.PipelineName a Pipeline Nameo TotalCount a Total Count. Para obtener información sobre cómo hacerlo, consulte Cambiar el nombre de los campos de columna.

Cierre la consulta y aplique los cambios

Una vez que haya completado todas las transformaciones de datos, elija Cerrar y aplicar en el menú Inicio para guardar la consulta y volver a la pestaña Informe en Power BI.

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

Creación del informe de gráfico de columnas apiladas

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

    Captura de pantalla de las selecciones de campos de visualización para los errores preconfigurados 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 FailedStagedCount al eje Y, haga clic con el botón derecho en él y asegúrese de que suma está seleccionada.

  4. Agregue PipelineJob.StageName a Leyenda.

  5. Para cambiar el título del informe, la leyenda u otros objetos visuales de informe, seleccione el icono Formato del pincel de pintura visual en el panel 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 columna apilada de errores de ejemplo de canalizaciones de Power BI.