It's the SonarQube Elasticsearch indexes again

Background I just upgraded our Azure/Docker container hosted SonarQube instance from 10.5.1 to 10.6.0. This was partly due to our usual upgrade process, we try to upgrade within a week or so of a new release, but also to address a specific Java issue we started to see when using the SonarQube@6 Azure DevOps tasks. The error was the SonarQube analysis completed successfully, but the clean up process failed with this JVM error. ...

June 28, 2024 · 2 min · Richard Fennell

Passing dynamically sized object parameters to Azure DevOps Pipeline templates

The Problem I have an Azure DevOps YAML template that does some deployment actions using PowerShell. This template is used multiple locations. The problem is that the PowerShell step within the template needs a variable number of environment variables, set from values stored in an Azure DevOps variable Group. The number of variables is not fixed because they depend on the underlying commands the PowerShell script is triggering to do the deployment. ...

June 24, 2024 · 2 min · Richard Fennell

Azure DevOps pipeline jobs failing to start

The Issue Whilst migrating some Azure DevOps classic pipelines to templated multi-stage YAML, I hit a problem that a job running on a self-hosted agent would not start. The YAML stage, which required approval, would be queued and approved, but the agent would just sit there with the message Starting job but would never start. The strange thing was even though the job was not started, the pipeline instantly showed as failed with no error message. ...

May 29, 2024 · 1 min · Richard Fennell

Failing client connections with SQL OPENJSON Incorrect Syntax error after upgrading Identity Server 6 to 7

The Issue Whilst updating a client’s Duende Identity Server from versions 6 to 7, we experienced a problem. We followed the upgrade steps and all was working fine against our development instance i.e. the Identity Server Db was upgraded to the current schema and we could login from our test MVC web client without issues. The problem occured when we started to test using our UAT (a production replica) DB. On loading the Identity Server, it did the expected EF migrations and appeared to start, but when a client tried to connect we got an exception in the Identity Server logs in the form ...

May 29, 2024 · 1 min · Richard Fennell

Fix for SonarQube recoverable indexing failures error

The Issue Within one of our Azure DevOps builds we today started to see the following error when running the SonarQube analysis step: ##[error][SQ] Task failed with status FAILED, Error message: Unrecoverable indexing failures: 1 errors among 1 requests. Check Elasticsearch logs for further details. Nothing obvious pointed to why this should have started to occur, the SonarQube logs showed nothing more than a longer version of the same message. ...

May 16, 2024 · 1 min · Richard Fennell

Building Reporting Service .RPTProj files in Visual Studio 2022 from the command line

The Issue We have a number of projects that use the old style SQL Server Reporting Services (SSRS) .RPTProj project format. These projects are not supported in Visual Studio 2022 out of the box, but there is an extension in the Marketplace that adds the functionality back so you can build them in the IDE. However, we want to build our RDL files as part of our CI process, and this is where we hit a problem. When we attempt a build with MSBuild it fails with an error about missing .NET 4.0 SDK/Targeting Pack. ...

May 3, 2024 · 2 min · Richard Fennell

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. For a limited list of fields, revert the change to the value prior to the last update Save the updated work item, or if the -whatif flag is set just validate the update against the Azure DevOps instance For my client, the script worked well enough, reverting over 1000 work items in about 5 minutes. The few work items it could not revert were fixed manually. ...

April 16, 2024 · 2 min · Richard Fennell

GitHub Events not being triggered for auto-merged Dependabot PRs

Background I have an Azure Static Website that is built from a GitHub hosted repo using the default Action Workflow automation created by Azure when setting up the static site. A really nice feature of this configuration is that when a PR is created in GitHub a test static website environment site is built in Azure to review the changes. When the PR is closed the test environment site is deleted. ...

March 18, 2024 · 4 min · Richard Fennell

I can't get git.exe installed on my corporate PC

Issue Many development tools rely on the fact that git.exe is installed to perform source control operations e.g. VSCode. However, a common problem I have seen is that security settings on many corporate Windows devices do not allow the installation of git CLI using an MSI file by the user. VSCode is an approved application, or installed as a user application as opposed to a system one, so is available but limited by it’s lack of source control features. ...

February 2, 2024 · 4 min · Richard Fennell

Change in Edge/Chromium profile settings broke my Azure Entra ID SSO

Background I have recently hit a problem whilst developing some training material on Single Sign on (SSO) in GitHub Enterprise. This training is to be delivered in a training instance of GHE that is configured to use a training instance of Azure Entra ID as the SAML identity provider. To make my life easier, so I am not logging in and out of my work and test Azure Entra ID directories, I have been using profiles in my Chromium based Edge browser. This means I have two copies of Edge running, one for my ‘real’ work directory and the other for the training directory. ...

December 21, 2023 · 2 min · Richard Fennell