[API] Add Todo's API proposal
Description including problem, use cases, benefits, and/or goals
Dear GitLab team,
As you know, I'm presently building Git Trident. I'm now adding 'Push Notifications', which alert Users of activity of their Projects. I'm building a simple Ruby & Rails server (big learning curve for me!!) which is coming on nicely (Active Job / Sidekiq / Clockwork), and the intention for this server is to work with both GitLab and GitHub. I have the details worked out for GitHub, but I'm not sure yet how I can achieve a good result for GitLab.
Main problem is, I don't believe presently there's an API to do this for GitLab. The new Todo's feature I think would be a good candidate for an API - it provides the type of alerts I want to display.
I propose GitLab implement a Todo's Webhook, which can act as a 'Push' service - alerting consumers of the Webhook of new changes in the users Todo's.
I suggest a Webhook, rather than a traditional REST API, is because my experience with the equivalent GitHub API (see attached Link) is rather painful. GitHub's API is optimised for Polling, but this introduces several problems for me. A Webhook has some benefits:
- I no longer need to store users API tokens on the Push Server (more secure).
- Server load is reduced on the server (less polling).
Things I'm also considering,
- Could a self hosted GitLab server be protected by a Firewall preventing inbound (polling) connections to it?
Links / references
Git Hub Notifications API - https://developer.github.com/v3/activity/notifications/