Coder Social home page Coder Social logo

nielsnijveldt / msrm-dashboard Goto Github PK

View Code? Open in Web Editor NEW

This project forked from edwinvw/msrm-dashboard

0.0 2.0 0.0 972 KB

Dashboard for Microsoft Release Management.

License: Apache License 2.0

C# 68.68% ASP 0.11% JavaScript 14.56% CSS 8.26% HTML 8.39%

msrm-dashboard's Introduction

Microsoft Release Management Dashboard

This repo contains a simple dashboard for Microsoft Release Management (RM). It's used primarily for giving teams a quick insight into their release pipeline and all releases that are triggered.

Dashboard

The dashboard shows the last 5 releases that were started on the RM server (the number of releases shown is configurable). See a screenshot of a dashboard below:

Dashboard

Per release, the stages are shown that are defined in the releasepath that was chosen when the release was started. Also the components that are being deployed within the release are shown. For every stage a block is shown with the name of the stage and the name of the corresponding environment. Within each stage block, the steps that are executed within that stage are shown. When a step contains multiple actions, the actions can be shown by clicking the '+' sign on the top-right corner of the step block. The stage that was chosen as target stage for the release is tagged with a bulls-eye icon in the top-left corner. When a step is an approval step and it is not automated, the user or group that has to approve is shown.

Approvals

By clicking on the 'Approvals' link in the upper-right corner of the dashboard, the RM website for approvers is shown. The URL used for this link can be configured in the Web.config using the appSetting 'UrlReleaseExplorer'.

Configuration Panel

By clicking the 'Configure' link in the upper-right corner of the dashboard, the configuration panel is shown:

Configuration Panel

The following settings are available:

  • Title : the title shown on the dashboard
  • Theme : the color theme to use
  • Auto refresh : indication whether or not the page is automatically refreshed
  • Refresh interval : the interval to wait between every page refresh
  • Show components : indication whether or not to show the components being deployed
  • Number of releases : the number of releases to show on the dashboard
  • Release paths : the releasepaths to show on the dashboard (none selected means no filter)

If one or more releasepaths are selected and a new releasepath is added in RM, this new releasepath is not shown on the dashboard until it is selected on the configuration panel.

The settings are persisted in a cookie on the client machine when the 'Save' button is clicked. The cancel button will discard any configuration changes and return to the dashboard.

Installation

The dashboard is built as an ASP.NET web-application that must be deployed to an IIS webserver. The application consists of an HTML5/Angular SPA "front-end" and an ASP.NET WebAPI back-end. The WebAPI collects the necessary data by querying the RM database. The web.config contains the connection-string to connect to the database and the URL to the RM website for approvers. The user used to connect to the database must have read-access to the following tables:

  • Environment
  • ReleaseStatus
  • ReleaseStepStatus
  • ReleaseV2
  • ReleaseV2ActivityLog
  • ReleaseV2Component
  • ReleaseV2StageWorkflow
  • ReleaseV2Step
  • SecurityGroup
  • Stage
  • StageStepType
  • StageType
  • User

The WebAPI exposes 2 resources:

  • /api/releases : the data that is presented on the dashboard
  • /api/releasepaths : the list of releasepaths defined in RM (used on the configuration panel)

When doing a GET request on /api/releases, three optional headers can be included in the request:

  • includedReleasePathIds : a comma-separated list (without spaces) of releasepath Ids to include in the dashboard
  • releaseCount : the number of releases to show in the dashboard
  • showComponents : indication if the released components should be displayed on the dashboard

Compatibility

The dashboard is currently only tested with Release Management 2013 Update 4 and is only implemented for the "vNext" functionality in RM.

msrm-dashboard's People

Contributors

edwinvw avatar fabianvansteen avatar maartenvandiemen avatar nielsnijveldt avatar ronaldbosma avatar thijsvanbloemendaal avatar wmeints avatar

Watchers

 avatar  avatar

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.