Markdown to WordPress Extension Now Open Source

Azure DevOps Extensions, Open Source (OSS)
About two and a half years ago (wow, time flies!) I wrote about a Markdown to WordPress extension that I had built for Visual Studio Team Services (now Azure DevOps). This extension was borne out of the desire to manage markdown files within version control (e.g. Azure Repos) and publish them to WordPress via a build definition. Two and a half years later, we are still making use of this extension. Since the original preview release there have been a few tweaks made to the extension that resolved a few bugs as well as introduced some new functionality - e.g. the ability to (optionally) add an "Edit this page" button at the bottom of each post that, when clicked, would take the reader to the associated markdown file in version…
Read More

Azure DevOps Demos – At Your Fingertips!

Azure DevOps
There are a lot of features and capabilities built into Azure DevOps. Out of the box, Azure DevOps includes several beneficial services - though you can pick and choose which services you actually want to include in your project (they can vary by project). Azure DevOps Services Azure BoardsAzure PipelinesAzure ReposAzure Test PlansAzure Artifacts Maybe you're new to Azure DevOps and you'd like to experiment with some existing projects to see how everything connects and integrates. Maybe you are familiar with Azure DevOps and want to do some demos for others. Having the ability to generate projects within Azure DevOps, complete with source code, work items, dashboards, build and release pipelines, etc. can be of great benefit for both of these scenarios. To satisfy this need, Microsoft provides the Azure…
Read More

Parallel Builds in Azure DevOps

Azure Pipelines
The build capabilities within Azure Pipelines (the Build and Deploy technologies within Azure DevOps) are extensive and powerful. If you can build it on a Windows, Linux or macOS machine, then you can build it within Azure DevOps. In this post, I'd like to highlight one of many powerful features of Azure Pipelines - the ability to run builds in parallel. Caveat: To run multiple jobs in parallel, you must have the appropriate number of build pipelines licensed. For example, if you want to run three jobs in parallel, then you must have at least three pipelines licensed for use. You can read more about pipeline licensing here. Getting Started Whether you've realized it or not, all of your Azure DevOps builds come with at least one predefined job. A…
Read More

The New Azure DevOps PAT Experience

Azure DevOps
A few years back I wrote about Personal Access Tokens (PATs) in Personal Access Tokens & VSTS. Since then, not only has Visual Studio Team Services (VSTS) been rebranded to Azure DevOps, but there is also a new PAT experience. While the original PAT experience is functional, there is a lot to be liked in the new experience. Turn It On At the moment, the new PAT experience is in preview. If you want to give it a try, you have to enable the option. To do this: Sign on to Azure DevOpsClick on your profile image in the upper right-hand corner of the pageSelect Preview features (see Figure 1 below)Set the New PAT Experience option to On (See Figure 2 below) - If you don't see "New PAT Experience"…
Read More

Dark Theme in Azure DevOps!

Azure DevOps
A while back I was attending a local developer conference and I overheard someone say, "He's not a real coder; He's not using the dark theme." :-) Now, while I don't necessarily agree with that statement, I do prefer dark themes over light themes. Dark themes just seem to be easier on my eyes when I'm staring into millions of pixels for hours on end every day. While Visual Studio has provided a dark theme (as well as others) out of the box for some time now, and VS Code has had a dark theme from its start (as best as I can remember), Azure DevOps (formerly Visual Studio Team Services or, VSTS) has not had the same luxury. That is, until now! Microsoft announced the dark theme in Azure…
Read More

Azure DevOps Launch Event

Azure DevOps
Odds are, you've noticed by now that Microsoft introduced Azure DevOps yesterday. While there are a lot of details around this announcement, the short version is that Azure DevOps is an evolution of Visual Studio Team Services (VSTS) and introduces the following:     Azure Pipelines CI/CD that works with any language, platform, and cloud. Connect to GitHub or any Git repository and deploy continuously. Learn More >   Azure Boards Powerful work tracking with Kanban boards, backlogs, team dashboards, and custom reporting. Learn more >   Azure Artifacts Maven, npm, and NuGet package feeds from public and private sources. Learn more >   Azure Repos Unlimited cloud-hosted private Git repos for your project. Collaborative pull requests, advanced file management, and more. Learn more >   Azure Test Plans All…
Read More

Hiding Unused Services within VSTS

Azure DevOps
New Navigation (Preview) Last month, Microsoft announced some navigation UI changes coming to Visual Studio Team Services (VSTS). In short, the VSTS UI now places the primary navigation controls vertically, along the left side of the page. For example, once enabled, the default page for a project in VSTS might look something like this: The vertical navigation changes are still in preview*, so you will need to enable the preview to get the new behavior. To do this: Sign in to VSTS and click on your profile picture in the top, right-hand corner of the page. Click on the Preview features option. Click on the slider next to New Navigation to enable the preview feature. As an additional bonus, you might see some preview features that you didn't realize were…
Read More

Mix-n-Match Microsoft, AAD (and other) Accounts in Firefox

Add-ins & Extensions, Tips
If you’re like me, you have no doubt collected many various accounts over the years. I have several Microsoft Accounts that are tied to Visual Studio Team Services (VSTS) and other offerings. I also have multiple Organizational (Azure Active Directory) accounts tied to Office 365, corporate accounts, etc.Until now, I’ve relied on having multiple web browsers, or “incognito/private” windows, to help me keep my various accounts separated. For example, on my work computer, I would use Firefox for anything that utilized my personal Microsoft Account (MSA), Chrome for anything that utilized my work-related MSA (e.g. for accessing VSTS) and Edge for miscellaneous other accounts. At home, I relied on a similar setup to keep my accounts separate.While this has worked for me for the past few years it has always…
Read More

Base64 Encode/Decode Visual Studio Extension

API, Extensions, Visual Studio
If you’ve followed any of the API articles that I’ve published then you know that anytime we have the need to include a Personal Access Token (PAT) as part of the Authorization header we have to Base64-encode it first. While it’s pretty easy to jump into your favorite search engine and find an online Base64 encoder (Bing has one built into the search engine!) sometimes it’s nice to not have to leave the Visual Studio IDE. For this reason, I created a simple Visual Studio extension that can Base64 encode/decode text. The add-in is pretty easy to use and shows up as a tool window that you can dock wherever you like. In the screenshot below, I have it docked at the bottom alongside the Output and Error List windows.…
Read More

Adding VSTS-Users to VSTS-Tools Samples

API, Azure DevOps
It’s been about two years since I originally created the VSTS-Tools project on GitHub. The original release had two command-line tools included with it:VSTS-Get – CLI to download a single file or entire folder tree from VSTS (only Git is supported at this time). VSTS-Keep – CLI to set (or remove) the “Retain Indefinitely” retention flag for a given build. Not only were the tools meant to be somewhat useful (I used them then and still use them today) but they were also meant to act as yet another set of examples on how you might make use of the Visual Studio Team Services (VSTS) APIs.Recently, I posted some examples on how to get a list of VSTS users via API calls. For the sake of completeness, I have now…
Read More
ContactUs.com