GithubHelp home page GithubHelp logo

dougbw / azure-devops-data-collector Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 344 KB

Azure DevOps Data Collector

License: MIT License

PowerShell 100.00%
azure azure-devops dashboard powerbi azdo

azure-devops-data-collector's Introduction

azure-devops-data-collector

This module pulls data from the Azure DevOps REST API and publishes to Azure table storage. The data can then be modeled in PowerBI into pretty graphs and stuff.

Example dashboard

This can provide a holistic view across an organization of:

  • Resource usage (how many repos, projects, pipelines, etc)
  • Development activity (commits, pull requests)
  • Pipeline success rate/duration
  • Deployments to environments

Build status

Build Status

Installation

This module can be installed from the PowerShell Gallery

Install-Module AzureDevopsDataCollector

Pre-requsuites

Usage (inside an AzDo pipeline)

The quickest way to use this is to run it inside a scheduled Azure DevOps pipeline, as the job can consume predefined variables containing the organization name and api token. This pipeline can then be triggered on a scheduled using the built-in pipeline scheduling feature.

  • Create a repo in Azure DevOps and copy the following files into it from the Example directoy:
  • Create a library variable set named storage-account-vars containing the following variables
    • StorageAccountName
    • StorageAccountKey
  • Create a pipeline pointing to "azure-pipelines.yml" in your new repo

Usage (outside an AzDo pipeline)

Import-Module AzureDevopsDataCollector
Import-Module Az
$Params = @{
    Organization = $Organization
    PersonalAccessToken = $PersonalAccessToken
    StorageAccountName = $StorageAccountName
    StorageAccountKey = $StorageAccountKey
}
Invoke-AzDoDataCollector @Params

Using the dashboard

Open the powerbi template file from this repo. Upon opening it should prompt for a storage account name and key. Save it as a powerbi report file (.pbix) once you have completed the initial data load.

This template contains the data model and relationships between the data (E.g commits to repos, deployments to environments) so use this as a starting point and delete any pages / visualizations you don't want.

What data is collected

The data which is currently pulled from the Azure DevOps REST API. The module can be extended to collect data from other api endpoints through configuration files although I have not documented the schema for this yet.

* Projects
    * Pipelines
        * Pipeline runs
    * Environments
        * Deployments
    * Repos
        * Commits
        * Pull requests
* Work Items

azure-devops-data-collector's People

Contributors

dougbw avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

mallik-g

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.