It's posible run a job from gitlab-ci only on merge request? Now, we have a big monolitic project with heavy tests, but we only want to run the test before merging to the branch master.
Asked
Active
Viewed 1.8k times
3 Answers
15
Well, it's not built in currently however it's not impossible to do it yourself. Gitlab allows to trigger a job. It also supports webhooks on merge requests. However webhooks don't support variable in URIs and triggers can't read request body so you'd have to create a script that will act like a middle-man here:
- Webhook on merge request calls to your script
- Script parses the request and calls a triggers in gitlab with correct REF
Trigger runs the job that is marked with;
only: -triggers
It's a bit hacky but it's working and easy to implement.

Jakub Kania
- 15,665
- 2
- 37
- 47
-
How can I parse the request with the script? Where I have to place the script? – ar099968 Jun 20 '18 at 14:38
-
1@CescoBagnoli you need a web server that is accessible to your gitlab ci instance and some server side scripting to do it. You could use Lambda. You could use this gh project: https://github.com/MelwinKfr/gitlab-webhook-translator – Jakub Kania Jun 20 '18 at 15:44