Update: Shipped in Bitbucket Server and Data Center 5.10
Original request description
One problem our developers are starting to have now that we've migrated to Stash is keeping on top of changes in repositories that we make use of but don't directly develop. Our deliverable projects are large and made up of multiple smaller component projects each with multiple repositories (it all adds up to hundreds of repositories in a final deliverable project).
It would be very useful to our developers if they could receive emails on changes being pushed to the server for certain parts of the code that are of especial interest to them. You already have the concept of watching a pull request, it would be nice if this could be extended to allow a user to watch:
1. A branch - See any pushes to that branch
2. A repository - See any pushes to that repository on any branch
3. A project - See any pushes to any branch of any repository in that project.
A REST API to add and remove yourself as a watcher would also be usefull so we can script setting up watch lists accross entire projects if need be.
While there are some plugins that allow this a lot of the time they require admin permissions to the module to allow you edit the plugins email settings to add and remove users. Watching should only require read permissions to a repository as it doesn't require making any changes.