#32833·backstage

Call for help: Add event handling for more SCM providers in the catalog

Author: frebenCreated Feb 13, 2026Updated Sep 17, 2026
Labelstype:suggestionpriority:contrib-neededarea:catalog

Issue Labels

  • Please familiarize yourself with the issue labels used in this project: LABELS.md

Search Terms

plain
scm events catalog

️ Project Area

Catalog

Need

As part of the 1.48 release of Backstage, the software catalog gained a new capability - to handle SCM events (for example originating from webhooks) in a generic way and respond instantly to them.

It enables:

  • Instant reprocessing of entities when they have changes pushed to them
  • Automatic unregistration of entities when their corresponding files are deleted intentionally, instead of leaving them lingering in an error state
  • Seamless silent re-registering of entities in a new place when you rename a file, transfer a repo to someone else, etc

Before this was added, some provider modules indeed had custom handling of webhook events inside them, but those capabilities were generally limited - for example, you would effectively have to use the specific flavour of GitHub discovery that the module offered to be able to be properly event driven.

With the new capability, the catalog core providers themselves - in addition to external ones - can react to any type of SCM event generically. This includes installations where you only register individual URLs using the location provider, or have invented your own form of discovery. As long as someone has written the translation layer from SCM specific events to generic events - you are good to go with instant refreshes etc.

Proposal

The initial pull request implemented this for GitHub, analyzing both push and repository events in depth to translate them into insights about individual files being changed, renamed or deleted, etc.

This issue is a call for help to implement this translation layer for more SCM providers - Gitlab, Bitbucket, Azure, and whatever else you are in need of. Adding these translation layers will enable users out there to get these benefits out of the box. Feel free to reference the original PR for inspiration.

Alternatives

Happy for suggestions here. But at the very least, having a builtin core capability for reactive refreshes should be an absolute minimum.

Have you read the Code of Conduct?

Are you willing to submit a PR?

No, I don't have time to work on this right now