Webhook Development Guide
Release notes
Problem to solve
As product teams in GitLab contribute new features, we are not consistently considering programmatic consumption of those features via our APIs and webhooks. As a result, when we create features such as "Epics", we may not develop a webhook to enable users to consume events related to Epics, such as changes to status, labels, milestones, or other attributes.
This results in gaps such as Add Epic events webhook (#350641 - closed), or feature additions that do not consider and update related webhook payloads/behaviors.
Proposal
Similar to other development guides, we should establish documentation for how webhooks should be exposed for GitLab features.
Compare to other development guides:
The guide should describe to developers:
- How to develop webhooks at GitLab
- When it's appropriate to develop a webhook
- How to update a webhook to support changes to related features
- Performance optimization
- Testing
- Troubleshooting issues during development
- See some principles noted: #387890 (comment 1881532835)
Intended users
Primarily, the target user would be internal Sashas (Software Developer), but external customers, partners, and contributors may be interested in contributing to our webhooks.
Internal Use Cases
Below are a few examples of gaps in our webhooks that our team could provide guidance and support to address, and could be used as context for our development guide:
Feature Usage Metrics
- Frontend metrics, such as Google Analytics, for page usage
- New MRs generated by other team members (outside of Integrations team) for creating webhooks
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.