{"id":16179270,"url":"https://github.com/jonashackt/renovate-dynamic-badges","last_synced_at":"2026-02-14T04:08:31.150Z","repository":{"id":147270074,"uuid":"217830726","full_name":"jonashackt/renovate-dynamic-badges","owner":"jonashackt","description":"Example project showing how to use badge services like shields.io to create dynamic version badges for renovate managed GitHub repositories","archived":false,"fork":false,"pushed_at":"2019-10-27T09:26:14.000Z","size":3,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-07T01:33:38.188Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonashackt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-27T09:15:44.000Z","updated_at":"2019-10-27T10:24:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"7a01aa00-79cc-48c7-93e3-9feb6bcc8d5d","html_url":"https://github.com/jonashackt/renovate-dynamic-badges","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jonashackt/renovate-dynamic-badges","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonashackt%2Frenovate-dynamic-badges","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonashackt%2Frenovate-dynamic-badges/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonashackt%2Frenovate-dynamic-badges/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonashackt%2Frenovate-dynamic-badges/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonashackt","download_url":"https://codeload.github.com/jonashackt/renovate-dynamic-badges/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonashackt%2Frenovate-dynamic-badges/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29435586,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T03:34:37.767Z","status":"ssl_error","status_checked_at":"2026-02-14T03:34:09.092Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T05:26:32.282Z","updated_at":"2026-02-14T04:08:31.130Z","avatar_url":"https://github.com/jonashackt.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# renovate-dynmamic-badges\nExample project showing how to use badge services like shields.io to create dynamic version badges for renovate managed GitHub repositories\n\nIf you don't know [renovate](https://renovatebot.com/) already, take your time to have a look. You'll love it, escpecially if you're an OpenSource maintainer - or simply have lot's of GitHub repositories :)\n\nIf you also like those shiny cool version badges like me, you'll soon find yourself in the situation, where renovate keeps your dependecies up to date - but not your version badges :( A somehow standard badge of a project like xxx could look like this:\n\n[![versionspringboot](https://img.shields.io/badge/springboot-2.1.7_RELEASE-brightgreen.svg)](https://github.com/spring-projects/spring-boot)\n\nWouldn't it be great to have this badge dynamically updated simply based on the project's Maven `pom.xml`? There is a great generator for dynamic badges on [https://shields.io/](https://shields.io/). Right out of the box, your `XPATH` queries (created with a service like [http://xpather.com/](http://xpather.com/) for example) to the version of your Maven dependencies woun't work! Why? Because Maven pom.xmls use XML namespaces! Therefore I created this issue https://github.com/badges/shields/issues/4250 and got help from a shields.io maintainer. Here's it in a nutshell:\n\n\n### 1. Create an XPATH query to your pom.xml\n\nUse the *every* node and create the full path to your version:\n\n```\n/*[local-name()='project']/*[local-name()='properties']/*[local-name()='spring.boot.version']\n```\n\n\n### 2. Encode query for URL usage\n\nLike with https://www.urlencoder.org/:\n\n```\n%2F%2A%5Blocal-name%28%29%3D%27project%27%5D%2F%2A%5Blocal-name%28%29%3D%27properties%27%5D%2F%2A%5Blocal-name%28%29%3D%27spring.boot.version%27%5D\n``` \n\n\n### 4. Build full shields.io URL\n\nhttps://img.shields.io/badge/dynamic/xml?color=brightgreen\u0026url=https://raw.githubusercontent.com/codecentric/cxf-spring-boot-starter/master/cxf-spring-boot-starter/pom.xml\u0026query=%2F%2A%5Blocal-name%28%29%3D%27project%27%5D%2F%2A%5Blocal-name%28%29%3D%27properties%27%5D%2F%2A%5Blocal-name%28%29%3D%27spring.boot.version%27%5D\u0026label=springboot\n\n\n### 5. Integrate in your README markdown .md file:\n\n[![versionspringboot](https://img.shields.io/badge/dynamic/xml?color=brightgreen\u0026url=https://raw.githubusercontent.com/codecentric/cxf-spring-boot-starter/master/cxf-spring-boot-starter/pom.xml\u0026query=%2F%2A%5Blocal-name%28%29%3D%27project%27%5D%2F%2A%5Blocal-name%28%29%3D%27properties%27%5D%2F%2A%5Blocal-name%28%29%3D%27spring.boot.version%27%5D\u0026label=springboot)](https://github.com/spring-projects/spring-boot)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonashackt%2Frenovate-dynamic-badges","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonashackt%2Frenovate-dynamic-badges","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonashackt%2Frenovate-dynamic-badges/lists"}