Introducing Azure DevOps Buddy 1.0

Managing your Azure DevOps projects just got a whole lot easier.

Robert McLaws
CloudNimble
4 min readNov 14, 2019

--

This week, CloudNimble has been rolling out a bunch of tools that we’ve been building out for our app infrastructure.

  • After almost a year, Restier 1.0 RC1 FINALLY made it to NuGet.org (the projects’ first major release in 3 years, and the first release since it was donated to the .NET Foundation).
  • We shipped SimpleMessageBus 1.0, which is our out-of-band event processing system that runs either on-prem or in the cloud.
  • We shipped PortableRest 4.0, which is REST client library for building REST client libraries.

So today, I’m very excited about launching our Azure DevOps Buddy 1.0 Beta on ProductHunt. This is a Blazor WebAssembly-powered desktop application that will be the first of many for the company. But before I tell you about it, a little bit about how it came about.

The Home Screen for Azure DevOps Buddy

A Little Backstory

Ever since Blazor came out, I’ve been fascinated with it. I’ve been up to my ass for the last 2 years in a Typescript + Knockout + WebPack project that took a lot of engineering effort to get going. So when I heard about this new technology that would let me essentially build a Silverlight app, but with HTML instead of XAML (and no runtime install necessary)… I was already bought in.

Our first Blazor project was an admin console for BurnRate, which was a lot of fun. CloudNimble’s BlazorEssentials package came out of that project, and we learned a lot of tricks that we have queued up to share here on the blog.

But when I found out about Electron.NET’s Blazor support, that took things to a whole new level. I wanted to put together a project that could be the testbed for figuring out everything that you’d need to successfully support a web application that was delivered straight to your desktop.

We had been doing a bunch of work at the time streamlining dozens of Azure DevOps automated builds for the State of Florida, and it was increasingly frustrating trying to standardize the different parts of the builds so they could be used against 160+ projects. I wanted to create a set of standard variables that could be referenced in each project… but in some cases I had 15–20 variables, and it was a HUGE pain in the ass to manually type them out for every project.

I started digging into the API, and discovered I could do all sorts of things that weren’t possible on https://dev.azure.com. Seemed like the perfect sort of thing to build an Electron-powered Blazor app for.

The First Feature: Copying Variable Groups Between Projects / Collections

Current Features

As I mentioned, the first feature is copying Variable Groups (AKA the “Library” section of Azure DevOps) between projects. Those projects can even be in different collections (for you On-Prem folks)… but they currently have to be in the same account. If you look at the screenshot above, you can see that we even let you pick individual variables to copy, to save you from having to go in and delete extra variables after the operation completes.

Using it is very simple. you pick your source collection and project, you pick your destination collection and project(s), and you click “Copy Variable Groups” to get it done. It seems very simple, but it has saved me near countless hours managing hundreds of projects for 5 different organizations.

The Future of Azure DevOps Buddy

I really see this app as a way to let you bulk-manage the operations side of Azure DevOps. Microsoft has really only scratched the surface of how to use AzDO to manage a large number of apps. Their web app has a number of usability shortcomings (for example, how the Artifacts are actually per collection, but are currently only be bubbled up per-project) that are difficult to overcome in the current design.

We have lots of ideas of things we’d like to do, but we’d like your feedback on things to prioritize. That’s why the “Give Us Feedback” button is at the bottom of every page, and sends feedback right into our own Azure DevOps Boards.

The Challenges of Shipping Blazor Apps

It was easy enough to get the functionality we needed… but productizing it was a different story. There’s a ton going on just in the screenshot above to make the magic happen. There’s account management, storage encryption, observable bindings, menu customization, automatic updates, feedback management… and that’s just the relatively obvious stuff.

I would love to be able to ship BurnRate as a desktop app… but in order to do that, we’re going to need the Electron Host alternatives to be farther along. We also need an evolution in application operations (AppOps) to allow for the integrated customer support experiences that are necessary when supporting multiple apps in an organization.

Over the next several months, we’ll be working to make this a reality. You’ll see many of those ideas come to life first within Azure DevOps Buddy.

How To Get It

We don’t have our AppOps systems in place yet, so for the Beta, we’re having testers sign up on ProductHunt, and we’ll send out a link to the download. We’ll make it available for general download once we have a few more thing in place.

That’s it folks! Please sign up for the Beta and give it a spin. We’d love to know what you think.

--

--

Robert McLaws
CloudNimble

Founder & CEO of BurnRate (@BurnRate_io). Serial entrepreneur. Former Microsoft MVP. @dotnetfdn member. Helping founders build amazing businesses.