The blog of Richard Fennell

This is the blog of Richard Fennell, I am a Microsoft MVP for Developer Technologies and the CTO of Black Marble Ltd a Microsoft Gold Partner based in the North of England. Black Marble specialises in Integration projects using the Azure/Microsoft stack. I blog mostly on the subject of DevOps using Azure DevOps and GitHub.
Richard Fennell (headshot)

Creating an undo PowerShell Script for batch updates of Azure DevOps Work Items

Problem One of my client’s recently had a problem that a large number of Azure DevOps work items had been updated via Excel in error. They asked if there was a means to undo these edits. Unfortunately, a feature Azure DevOps does not provide. Solution So, I wrote a PowerShell script to do it. The script… Gets a list of work items edited today by a specific user, the one who did the problematic bulk update, using a Work Item Query Get the last update of each work item and check it was made by the user who did the bulk edit, incase someone manually fixed the problematic update already....

April 16, 2024 · 2 min · Richard Fennell

Personal Access Tokens (PATs) are not your friends

Background Programmatic connection to Azure DevOps cannot be done with your Active Directory credentials. This is because this involves a dialog being shown, and these days usually an MFA check too. Historically, the solution to this problem was to enable Alternate Credentials, which could be passed as username and password, without the dialog being shown. However, the use of these has been deprecated since 2020, and they have been completely removed since Jan 2024....

March 22, 2024 · 3 min · Richard Fennell

It is really time to get off Azure DevOps TFVC source control

A History Lesson Team Foundation Version Control (TFVC) has been around since 2005, since the first release of Team Foundation Server (TFS) in 2005. In 2013, over 10 years ago, Microsoft added Git support to TFS (later renamed as Azure DevOps), Git had already been around for 8 years at that point. 10 years is a long time in the software industry, I always think of ‘IT years’ like ‘dog years’ i....

March 21, 2024 · 4 min · Richard Fennell

Don't forget to commit your configuration file

It is a major effort, often unfortunately ignored, keeping the dependencies in an open source project up to date. This was highlighted in Jesse Houwing’s post on the state of the Azure DevOps Marketplace. Since reading this I have made much more of an effort to keep my Azure DevOps Extensions up to date. Dependabot generated PRs have been a great help in this regard. Creating PRs for vulnerabilities and out of date dependencies....

March 20, 2024 · 1 min · Richard Fennell

Parsing error with Azure Bicep files in SonarQube

The Issue We saw an issue with our SonarQube 10.3 Developer Edition (that is running as a Docker image hosted in Azure) when it was doing the analysis of a project that included Azure Bicep files. The Azure DevOps pipeline that triggered the SonarQube analysis was not failing, but within the SonarQube analysis step an error was reported in the task log INFO: Sensor IaC AzureResourceManager Sensor is restricted to changed files only INFO: 1 source file to be analyzed ##[error]ERROR: Cannot parse 'AzureServices/QueryPack....

March 19, 2024 · 2 min · Richard Fennell