Integrate status checks on merge requests via web hook
Description
Allow the project admins to define status checks that are required to allow a merge request.
When working on a merge request, several conditions might be required for it to be truly good to merge. Hopefully everywhere it is that the CI build passes (which is integrated in GitLab). Often there will be more, i.e. a referenced issue is in the state "ready to merge" or a code review has been performed.
These checks are highly workflow-dependent though.
Proposal
Allow to add additional checks with webhooks. This could include a list of checks that hast to be met and for each check a web hook could be called, that will perform the check and give a json result on the success and additional data (i.e. why the condition is not met or a link to the successful code review).
This way, this would not rely on custom modules deployed by the admins into GitLab and give a lot of flexibility. The configuration could be done in the .gitlab folder, where the templates are not located as well.
Links / references
GitHub allows a few of those, i.e. to integrate AppVeyor and Travis CI: https://help.github.com/enterprise/2.7/admin/guides/developer-workflow/configuring-protected-branches-and-required-status-checks/#enabling-required-status-checks