There is a bunch: Jenkins-Stash. Process:
- the developer does his task in his branch (for example, feature / some-1)
- creates a pull-request in stash
- Appoints a review.
thereafter:
- jenkins builds build and writes successfully not successfully
- the revider makes approved
and then came the moment of merge, when the developer needed and click this button to add changes to the main branch. It is possible to automate this process. those. if there is a successful build and approved, do the merge automaton.