0

Azure DevOps Dependency Check

Azure DevOps Dependency Check is a Python tool that keeps track of every software version in use across an Azure DevOps organisation and checks each one against endoflife.date, surfacing unsupported dependencies before they become incidents.

Overview

Large Azure DevOps organisations accumulate software versions across many projects, repositories, and environments, and over time nobody has a reliable picture of which of those versions are still supported. This tool provides that picture automatically: a single run produces a concrete list of every dependency in the organisation that has fallen out of support.

The problem it solves

Dependency lifecycle management is usually a manual audit: someone trawls repositories, notes versions in a spreadsheet, and cross-references vendor support pages. That audit is slow, goes stale immediately, and misses environments nobody thought to check.

This tool turns the audit into a repeatable check:

  • the organisation's software estate is declared once, in configuration
  • current versions are retrieved automatically from the repositories where possible, or pinned manually where not
  • every version is compared against the community-maintained lifecycle data on endoflife.date
  • the output is an actionable list of what is end-of-life, ready for planning upgrades

Technical details

The tool is written in Python against the Azure DevOps REST API, authenticated with a personal access token. Configuration is a simple JSON inventory mapping software to the environment, repository, and file path its version can be read from, which keeps the tool reusable across teams without code changes.

The repository runs a SonarCloud quality gate and CodeQL analysis on every change.