Is the compass ID really the only way to identify a compass component from a webhook?
Most products will not have this accessible. The compass ID is usually hidden within the compass.yaml (if it is accessible at all), so getting access to this is unlikely unless the product has explicit compass support. And even where it is possible to get access to it, doing so is likely to be so complicated one might as well drop using the webhook in the first place.
Doing a mapping from identifier to compass ID still makes no sense to me. No one is doing this manually for 200+ components (in our case - and we're a small IT company).
Q: Why can't we just map directly to component name and the repository URI? Both of these are likely to be unique (because doing automation of this type without unique names is _painful_), and the component name or the component URI are almost guaranteed to be accessible in the webhook payload. This would make custom webhooks actually useful at scale.
Hi, @Michael Akinde !
Custom webhooks are a stop-gap convenience utility provided in case your integration is not directly available in the Compass app catalog from the get-go, and for those cases where sending events or metrics using the API like in these examples would not be an option either. It's meant to provide an alternative that wouldn't necessarily require to code a solution.
Component name and repository URI are currently not unique, since sites can decide to either have components with the same name or more than one component linking to the same repository, but I understand an alternative that attempted such matching would be feasible as long as no two matches were found (or delivering to all matching components).
The component ID is available in `compass.yml` if you're using config-as-code, but it's also accessible in every individual component in the overview page, under the `...` menu.
You can also retrieve the Component IDs using queries from the Compass GraphQL API. This is also easily accessible under https://your-site.atlassian.net/gateway/api/graphql with a convenient GraphiQL interface.
I understand this is something that would need to be added for every component, but you can set the mapping from any property in the payload to the related component ID during the original setup of the custom webhook itself.
In any case, this is good feedback. We'll ensure our engineers take this into consideration when shaping future roadmap items.
The likelihood that I'll ever do manual mapping/copy-paste of Compass Ids is pretty much zero. If we had so few components that this was a useful approach, then a product such as Compass doesn't add much value in the first place.
And GraphQL doesn't really help me with webhooks from other tools. That basically means we're back to considering bespoke solutions built specifically for this.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.