How to Skip a stage based on a Jenkins trigger

Hello everyone,

i would like to ask if there is anyways to Skip certain stages after a GitLab webhook is triggered
here is my JenkinsFile :

and here is the triggers i set for this pipeline :

- opened merge request events
- accepted merge request event

Now what i’d like as a result is this :

1) for the 3rd stage (push docker image to docker registry) & 4th stage(check&run) to be skipped when the merge request is opened.

2) for the whole pipeline to Run completely when the merge request is accepted.

i can’t seem to figure it out or any work-around to do it.

P.S : it shall be a simple pipeline project (I don’t want to use a multi-branch project)