Informe de ejemplo de tendencia de velocidad de paso de canalización



Azure DevOps Services

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 velocidad de paso de una canalización se define como el porcentaje de ejecuciones de canalización correctas para el total de ejecuciones de canalización. Es similar al gráfico "Tendencia de velocidad de paso" del informe Velocidad de paso de canalización.

Importante

Power BI integración y el acceso a la fuente OData del servicio Analytics se encuentran en versión preliminar. Las consultas de ejemplo proporcionadas en este artículo solo son válidas en Azure DevOps Services y dependen de la versión preliminar v3.0 o posterior. Le recomendamos que use estas consultas y nos proporcione sus comentarios.

En la imagen siguiente se muestra un ejemplo de esta tendencia.

Ejemplo: tendencia Pipelines de velocidad de paso : informe

Nota

En este artículo se da por supuesto que ha leído Información general de los informes de ejemplo mediante consultas de OData y tiene una comprensión básica de Power BI.

Requisitos previos

  • Debe ser miembro de un proyecto con acceso básico o superior. Si no se ha agregado como miembro del proyecto, ahora se agrega. Cualquier persona con acceso al proyecto, excepto las partes interesadas, puede ver las vistas de Analytics.
  • Para que los datos de Analytics estén disponibles, se debe habilitar el servicio correspondiente. Por ejemplo, para consultar los datos de seguimiento del trabajo, Boards debe estar habilitado. Si está deshabilitada, no se mostrarán las vistas de Analytics. Para volver a habilitar un servicio, consulte Activación o desactivación Azure DevOps servicio de mantenimiento
  • Para usar vistas de Analytics,habilite la característica de vista previa Vistas de análisis para usuarios individuales o para la organización.
  • Además, debe tener el permiso *View Analytics establecido en Permitir. Para más información, consulte Concesión de permisos para acceder al servicio Analytics.
  • Para usar Power BI para Azure DevOps o para ejecutar una consulta de OData para Analytics, debe tener el permiso de View Analytics establecido en Permitir. De forma predeterminada, se concede acceso a todos los colaboradores con acceso Básico. Para editar vistas compartidas de Analytics,debe tener el permiso Editar vistas compartidas de Analytics establecido en Permitir. Para más información, consulte Concesión de permisos para acceder al servicio Analytics.
  • Debe ser miembro de un proyecto con acceso básico o superior. Si no se ha agregado como miembro del proyecto, ahora se agrega. Cualquier persona con acceso al proyecto, excepto las partes interesadas, puede ver las vistas de Analytics.
  • Compruebe que Analytics está instalado y, si no es así, habilite esta opción. Debe ser propietario de la cuenta o miembro del grupo administrador Project recopilación para agregar extensiones o habilitar el servicio.
  • Para que los datos de Analytics estén disponibles, se debe habilitar el servicio correspondiente. Por ejemplo, para consultar los datos de seguimiento del trabajo, Boards debe estar habilitado. Si está deshabilitada, no se mostrarán las vistas de Analytics. Para volver a habilitar un servicio, consulte Activación o desactivación Azure DevOps servicio de mantenimiento
  • Para usar vistas de Analytics,habilite la característica de vista previa Vistas de análisis para usuarios individuales o para la organización.
  • Además, debe tener el permiso *View Analytics establecido en Permitir. Para más información, consulte Concesión de permisos para acceder al servicio Analytics.
  • Para usar Power BI para Azure DevOps o para ejecutar una consulta de OData para Analytics, debe tener el permiso *View Analytics establecido en Permitir. De forma predeterminada, se concede acceso a todos los colaboradores con acceso Básico. Para editar vistas compartidas de Analytics,debe tener el permiso Editar vistas compartidas de Analytics establecido en Permitir. Para más información, consulte Concesión de permisos para acceder al servicio Analytics.

Consultas de ejemplo

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

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

  • {organization}: nombre de la organización
  • {project}: nombre del proyecto de equipo
  • {pipelinename}: el nombre de la canalización. Ejemplo: Canalización de compilación por hora de Fabrikam.
  • {startdate}: la fecha en que se inicia el informe. Formato: YYYY-MM-D JPEG. Ejemplo: 2021-09-01Z representa el 1 de septiembre de 2021. No incluya comillas o corchetes y use dos dígitos para mes y fecha.

Desglose de consultas

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

Elemento de consulta

Descripción

$apply=filter(

Iniciar filter()

Pipeline/PipelineName eq '{pipelinename}'

Devolver ejecuciones de canalización para la canalización especificada

and CompletedDate ge {startdate}

La canalización de devolución se ejecuta en o después de la fecha especificada

and CanceledCount ne 1

Omitir las ejecuciones de canalización canceladas

)

Cerrar filter()

/groupby(

Iniciar groupby()

(CompletedOn/Date),

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

aggregate

Iniciar agregado. Para todas las ejecuciones de canalización que coincidan con los criterios de filtro anteriores:

($count as TotalCount,

Contar el número total de ejecuciones como TotalCount

SucceededCount with sum as SucceededCount ,

Contar el número de ejecuciones correctas como SucceededCount

FailedCount with sum as FailedCount,

Recuento del número de ejecuciones con error como FailedCount

PartiallySucceededCount with sum as PartiallySucceededCount))

Cuente el número de ejecuciones parcialmente correctas como PartiallySucceededCount. Cierre aggregate() y groupby()

/compute(

Inicio de compute()

SucceededCount mul 100.0 div TotalCount as PassRate,

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

FailedCount mul 100.0 div TotalCount as FailRate,

Calcular FailRate para cada día dividiendo el número de ejecuciones con error por el número total de ejecuciones

PartiallySucceededCount mul 100.0 div TotalCount as PartiallySuccessfulRate)

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

&$orderby=CompletedOn/Date asc

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

Filtros de consulta

Para determinar los filtros de consulta disponibles, consulte los metadatos como se describe en Exploración de los metadatos de OData de Analytics. Puede filtrar las consultas mediante cualquiera de los valores de NavigationPropertyBinding Path enumerados en entitySet. Para obtener más información sobre el tipo de datos de cada valor, revise los metadatos proporcionados para el entityType correspondiente. Cada EntitySet corresponde al valor singular de entityType.

Por ejemplo, EntitySet Name="PipelineRunActivityResults" corresponde a EntityType Name="PipelineRunActivityResult". Los metadatos de OData para EntitySet Name="PipelineRunActivityResults" se muestran a continuación para v4.0-preview. Puede agregar filtros basados en cualquiera de los valores de NavigationPropertyBinding Path enumerados.

<EntitySet Name="PipelineRunActivityResults" EntityType="Microsoft.VisualStudio.Services.Analytics.Model.PipelineRunActivityResult">
  <NavigationPropertyBinding Path="Project" Target="Projects"/>
  <NavigationPropertyBinding Path="Pipeline" Target="Pipelines"/>
  <NavigationPropertyBinding Path="PipelineTask" Target="PipelineTasks"/>
  <NavigationPropertyBinding Path="PipelineJob" Target="PipelineJobs"/>
  <NavigationPropertyBinding Path="Branch" Target="Branches"/>
  <NavigationPropertyBinding Path="PipelineRunQueuedOn" Target="Dates"/>
  <NavigationPropertyBinding Path="PipelineRunStartedOn" Target="Dates"/>
  <NavigationPropertyBinding Path="PipelineRunCompletedOn" Target="Dates"/>
  <NavigationPropertyBinding Path="ActivityStartedOn" Target="Dates"/>
  <NavigationPropertyBinding Path="ActivityCompletedOn" Target="Dates"/>
</EntitySet>

Power BI transformaciones

Expandir columna CompletedOn

La consulta devuelve algunas columnas que necesita expandir y aplanar en sus campos para poder usarlas en Power BI. En este ejemplo, esta entidad es CompletedOn.

Después de cerrar el Editor avanzado mientras permanece en el Editor de Power Query, seleccione el botón expandir en CompletedOn.

  1. Elija el botón Expandir.

    Power BI + OData: botón Elegir expandir

  2. Active la casilla "(Seleccionar todas las columnas)" para expandir

    Power BI + OData: seleccionar todas las columnas

  3. La tabla ahora contiene la entidad expandida CompletedOn.Date

    Power BI + OData: entidad expandida

Cambiar el tipo de columna

La consulta no devuelve todas las columnas en el formato en el que puede consumirlas directamente en Power BI informes. En esta sección se enumeran las columnas cuyo tipo tiene que cambiar para crear informes.

  1. Cambie el tipo de columnas PassRate, FailRate y PartiallySuccessfulRate a Decimal Number.

    Power BI + OData: cambiar el tipo de columna

  2. Cambie el tipo de columna TotalCount a Número entero.

    Cambie el tipo de columna TotalCount a Número entero.

Cambie el nombre de los campos y la consulta y, a continuación, cierre & Aplicar.

Cuando termine, puede cambiar el nombre de las columnas.

  1. Haga clic con el botón derecho en un encabezado de columna y seleccione Cambiar nombre...

    Power BI cambiar el nombre de las columnas

  2. También puede cambiar el nombre de la consulta del valor predeterminado Query1a algo más significativo.

    Power BI cambiar el nombre de la consulta

  3. Una vez hecho esto, elija Cerrar aplicar para guardar la consulta y volver a Power BI.

    Power BI Cerrar  Aplicar

Creación del informe

Power BI muestra los campos sobre los que puede informar.

Nota

En el ejemplo siguiente se da por supuesto que nadie ha cambiado el nombre de ninguna columna.

Ejemplo: tendencia Pipelines velocidad de paso: campos

Para obtener un informe sencillo, realice los pasos siguientes:

  1. Seleccione Power BI gráfico de líneas de visualización.
  2. Agregue el campo CompletedOn.Date al eje.
    • Haga clic con el botón derecho en CompletedOn.Date y seleccione CompletedOn.Date, en lugar de Jerarquía de fechas.
  3. Agregue el campo PassRate aValores.
    • Haga clic con el botón derecho en el campo PassRate y asegúrese de que sum está seleccionado.

El informe debe tener este aspecto.

Ejemplo: tendencia Pipelines tasa de paso de datos : informe

Más consultas

Puede usar las siguientes otras consultas para crear informes diferentes pero similares mediante los mismos pasos definidos anteriormente en este artículo.

Usar el identificador de canalización, en lugar del nombre de la canalización

Puede cambiar el nombre de la canalización. Para asegurarse de que los Power BI no se interrumpirán cuando se cambie 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}**

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

Filtrar por rama

Es posible que desee ver la tendencia de velocidad de paso de una canalización solo para una rama determinada. Para crear el informe, siga los pasos adicionales que se indican a continuación junto con lo que se ha definido anteriormente en este artículo.

  • Expanda Branch en Branch.BranchName.
  • Seleccione Power BI segmentación de visualización y agregue el campo Branch.BranchName al campo de la segmentación.
  • Seleccione la canalización de la segmentación para la que necesita ver el resumen de resultados.

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

Filtrar por motivo de compilación

Es posible que desee ver la tendencia de velocidad de paso de una canalización para un motivo de compilación determinado (Manual/BatchedCI, solicitud de extracción, entre otros). Para crear el informe, siga estos pasos adicionales junto con lo que se ha definido anteriormente en este artículo.

  • Seleccione Power BI segmentación de visualización y agregue el campo RunReason al campo de la segmentación.
  • Seleccione la canalización de la segmentación para la que necesita ver el resumen de resultados.

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

Es posible que desee ver la tendencia de velocidad de paso de todas las canalizaciones del proyecto en un solo informe. Para crear el informe, siga los pasos adicionales que se indican a continuación junto con lo que se ha definido anteriormente en este artículo.

  • Expanda Pipeline en Pipeline.PipelineName.
  • Seleccione Power BI segmentación de visualización y agregue el campo Pipeline.PipelineName al campo de la segmentación.
  • Seleccione la canalización de compilación de la segmentación para la que necesita ver el resumen de resultados.

Consulte Resumen de resultados para ver 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 datos: consulta en blanco. Para obtener más información, consulte Información general de 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

Lista completa de informes de ejemplo para Pipelines

Canalización

Canalización y prueba