Set global server hooks for all repositories inside Gitlab administration page
Problem to solve
As a Gitlab Administrator, I want to have the ability to create global server hooks for all repositories inside admin dashboard so that I can keep control of the globally defined code hooks and avoid manual interventions to the server
Intended users
User experience goal
Today there's already something similar for regular hooks: https://docs.gitlab.com/ee/administration/server_hooks.html#create-a-server-hook-for-a-repository
I believe that similar experience, but for global hooks and defined inside the administration panel, would do the trick beautifully.
Proposal
The team journey:
- Alex, the security engineer, asks some specific verification for all the code pushed to Gitlab, like checking for secrets inside commits or some enforced encryption;
- Devon implements the checks inside the
custom_hooks
directory in a brand new global-hooks repository; - Sidney then opens his administration page for Gitlab, goes to the global hooks feature, and points to the global-hooks repository, toggling on the functionality.
What does success look like, and how can we measure that?
Today, the way to do this is by making manual intervention to the server or creating external automation to interact with the same server.
Both methods could cause accidents to the Gitlab instance during the implementation and are challenging to test.
If we can delegate this to native functionality, this will make the administrator's life much more comfortable and GitLab maintenance easier.
Links / references
https://docs.gitlab.com/ee/administration/server_hooks.html#create-a-server-hook-for-a-repository https://docs.gitlab.com/ee/administration/server_hooks.html#set-a-global-server-hook-for-all-repositories