Make integrations API static
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
The integrations API is currently dynamically generated. It loops through all integration classes and defines the API endpoints. This is more DRY and has the advantage that changes on integration classes are automatically reflected in the API. But it also has some disadvantages:
- Engineers changing an integration class might accidentally introduce API changes and miss updating the documentation or introduce breaking changes.
- Testing gets more complex. Here is an example.
To improve this, create an integrations namespace in the API and define an endpoint class for each integration. The common peaces can be extracted into a helper or an endpoint class that will be inherited.
Edited by 🤖 GitLab Bot 🤖