Informe de ejemplo de tendencia de velocidad de paso 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 que muestre la tendencia de velocidad de paso diaria de una canalización. La tasa de paso de una canalización se define como el porcentaje de ejecuciones de canalización correctas en el total de ejecuciones de canalización. Es similar al gráfico "Tendencia de velocidad de paso" del informe de velocidad de paso de canalización. En la imagen siguiente se muestra un ejemplo de esta tendencia.

Captura de pantalla del informe de tendencias de ejecuciones de velocidad de paso de canalizaciones de Power BI.

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

Puede usar las siguientes consultas del PipelineRuns conjunto de entidades para crear informes de tendencias de velocidad de acceso diferentes pero similares.

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 velocidad de paso para una canalización con nombre

Las consultas siguientes devuelven las ejecuciones de canalización para una canalización específica a partir de una fecha de inicio especificada.

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/PipelineRuns?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedDate ge {startdate} "
                &"and CanceledCount ne 1 "
        &") "
        &"/groupby( "
            &"(CompletedOn/Date), "
                &"aggregate "
                &"($count as TotalCount, "
            &"SucceededCount with sum as SucceededCount , "
                &"FailedCount with sum as FailedCount, "
            &"PartiallySucceededCount with sum as PartiallySucceededCount)) "
        &"/compute( "
    &"SucceededCount mul 100.0 div TotalCount as PassRate, "
    &"FailedCount mul 100.0 div TotalCount as FailRate, "
    &"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
    &"&$orderby=CompletedOn/Date asc "
    ,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 ejecuciones de canalización para la canalización especificada.

and CompletedDate ge {startdate}

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

and CanceledCount ne 1

Omita las ejecuciones de canalización canceladas.

)

Cláusula Close filter() .

/groupby(

Cláusula Start groupby() .

(CompletedOn/Date),

Agrupar por fecha de finalización de la ejecución de la canalización.

aggregate

Cláusula Start aggregate para todas las ejecuciones de canalización que coinciden con los criterios de filtro.

($count as TotalCount,

Cuente el número total de ejecuciones como TotalCount.

SucceededCount with sum as SucceededCount ,

Cuente el número de ejecuciones correctas como SucceededCount.

FailedCount with sum as FailedCount,

Cuente el número de ejecuciones con errores como FailedCount.

PartiallySucceededCount with sum as PartiallySucceededCount))

Cuente el número de ejecuciones correctas parcialmente como PartiallySucceededCount. Cerrar aggregate() y groupby() cláusulas.

/compute(

Inicio de la compute() cláusula .

SucceededCount mul 100.0 div TotalCount as PassRate,

Calcule PassRate para cada día dividiendo el número de ejecuciones correctas por número de ejecuciones totales.

FailedCount mul 100.0 div TotalCount as FailRate,

Calcule FailRate para cada día dividiendo el número de ejecuciones con errores por número de ejecuciones totales.

PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate)

Calcule PartiallySuccessfulRate para cada día dividiendo el número de ejecuciones parcialmente correctas por número de ejecuciones totales.

&$orderby=CompletedOn/Date asc

Ordene el resultado en orden ascendente en función de la fecha de ejecución de la canalización.

Tendencia de velocidad de paso para un identificador de canalización

Se puede cambiar el nombre de las canalizaciones. Para asegurarse de que los informes de Power BI no se interrumpan cuando se cambia el nombre de la canalización, use el identificador de canalización en lugar del nombre de la canalización. Puede obtener el identificador de canalización de la dirección URL de la página de ejecuciones de canalizaciones.

https://dev.azure.com/{organization}/{project}/_build?definitionId={pipelineid}

Las consultas siguientes devuelven las ejecuciones de canalización para un identificador de canalización específico a partir de una fecha de inicio especificada.

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/PipelineRuns?"
        &"$apply=filter( "
                &"PipelineId eq {pipelineId} "
                &"and CompletedDate ge {startdate} "
                &"and CanceledCount ne 1 "
        &") "
        &"/groupby( "
            &"(CompletedOn/Date), "
                &"aggregate "
                &"($count as TotalCount, "
            &"SucceededCount with sum as SucceededCount , "
                &"FailedCount with sum as FailedCount, "
            &"PartiallySucceededCount with sum as PartiallySucceededCount)) "
        &"/compute( "
    &"SucceededCount mul 100.0 div TotalCount as PassRate, "
    &"FailedCount mul 100.0 div TotalCount as FailRate, "
    &"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
    &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Tendencia de velocidad de paso, filtrado por rama

Es posible que quiera ver la tendencia de velocidad de paso de una canalización solo para una rama determinada. Para crear el informe, siga estos pasos adicionales junto con lo que se describe en las secciones Cambiar tipo de datos de columna y Crear el informe gráfico de líneas.

  • Expanda Branch en Branch.BranchName.
  • Seleccione Segmentación de visualización de Power BI y agregue Branch.BranchName al campo de la segmentación.
  • Seleccione la rama de la segmentación de datos para la que necesita ver la tendencia de velocidad de paso.

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/PipelineRuns?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedDate ge {startdate} "
                &"and CanceledCount ne 1 "
        &") "
        &"/groupby( "
            &"(Branch/BranchName, CompletedOn/Date), "
                &"aggregate "
                &"($count as TotalCount, "
            &"SucceededCount with sum as SucceededCount , "
                &"FailedCount with sum as FailedCount, "
            &"PartiallySucceededCount with sum as PartiallySucceededCount)) "
        &"/compute( "
    &"SucceededCount mul 100.0 div TotalCount as PassRate, "
    &"FailedCount mul 100.0 div TotalCount as FailRate, "
    &"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
    &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Tendencia de velocidad de paso, filtrado por motivo de compilación

Es posible que quiera ver la tendencia de velocidad de acceso de una canalización solo por motivos de compilación específicos (Manual/BatchedCI, Solicitud de incorporación de cambios, etc.). Para crear el informe, siga estos pasos adicionales junto con lo que se describe en las secciones Cambiar tipo de datos de columna y Crear el informe gráfico de líneas.

  • Seleccione Segmentación en el panel Visualizaciones y agregue al RunReason campo de la segmentación.
  • Seleccione la canalización en la segmentación de datos para la que necesita ver la tendencia de velocidad de acceso.

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/PipelineRuns?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedDate ge {startdate} "
                &"and CanceledCount ne 1 "
        &") "
        &"/groupby( "
            &"(RunReason, CompletedOn/Date), "
                &"aggregate "
                &"($count as TotalCount, "
            &"SucceededCount with sum as SucceededCount , "
                &"FailedCount with sum as FailedCount, "
            &"PartiallySucceededCount with sum as PartiallySucceededCount)) "
        &"/compute( "
    &"SucceededCount mul 100.0 div TotalCount as PassRate, "
    &"FailedCount mul 100.0 div TotalCount as FailRate, "
    &"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
    &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Tendencia de velocidad de paso para todas las canalizaciones de proyecto

Use las siguientes consultas para ver la tendencia de velocidad de paso de todas las canalizaciones del proyecto en un único informe. Para crear el informe, siga estos pasos adicionales junto con lo que se describe en las secciones Cambiar tipo de datos de columna y Crear el informe gráfico de líneas.

  • Expanda Pipeline en Pipeline.PipelineName.
  • Seleccione Segmentación de datos en el panel Visualizaciones y agregue el campo al campo Pipeline.PipelineNamede la segmentación de datos.
  • Seleccione la canalización de compilación en la segmentación de datos para la que necesita ver la tendencia de velocidad de acceso.

Consulte Resumen de resultados para todos los informes de ejemplo de canalizaciones que tienen pasos similares detallados como se requiere aquí.

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/PipelineRuns?"
        &"$apply=filter( "
                &"CompletedDate ge {startdate} "
                &"and CanceledCount ne 1 "
                &") "
        &"/groupby( "
        &"(Pipeline/PipelineName, CompletedOn/Date), "
            &"aggregate "
                &"($count as TotalCount, "
                &"SucceededCount with sum as SucceededCount , "
            &"FailedCount with sum as FailedCount, "
                &"PartiallySucceededCount with sum as PartiallySucceededCount)) "
            &"/compute( "
        &"SucceededCount mul 100.0 div TotalCount as PassRate, "
    &"FailedCount mul 100.0 div TotalCount as FailRate, "
    &"PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate) "
    &"&$orderby=CompletedOn/Date asc "
    ,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 columnas que devuelvan registros que contengan varios campos. En este caso, querrá expandir la CompletedOn columna para aplanarla a CompletedOn.Date.
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.

Cambio del tipo de datos de columna

En el menú Transformar , cambie el tipo de datos de las columnas siguientes. Para obtener información sobre cómo hacerlo, consulte Transformación de un tipo de datos de columna.

  • PassRate, FailRate y PartiallySuccessfulRate columnas al número decimal".
  • TotalCountpara Quién le Number.

(Opcional) Cambiar el nombre de los campos de columna

Puede cambiar el nombre de los campos de columna. 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.

Crear el informe gráfico de líneas

  1. En Power BI, en Visualizaciones, elija el informe Gráfico de líneas.

    Captura de pantalla de las selecciones de campos de visualización para el informe de gráfico de líneas de tendencia de velocidad de paso.

  2. Agregue CompletedOn.Date al eje X. Haga clic con el botón derecho en el campo y elija CompletedOn.Date.

  3. Agregue PassRate al eje Y y haga clic con el botón derecho en él para asegurarse de que suma está seleccionada.

  4. Para cambiar el título del informe, seleccione el icono Formato del pincel de pintura visual en el panel Visualizaciones , seleccione General, expanda Título y reemplace el texto existente.

    En la imagen siguiente se muestra el informe resultante.

    Captura de pantalla del informe de tendencias de ejecuciones de frecuencia de paso de canalizaciones de Power BI.