Cannot pass variable to the jobs of pipeline when calling "Create MR Pipeline" API

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Summary

I triggered a pipeline calling the create-a-new-pipeline API. The variables are passed.

curl --silent --request "POST" \
    --header "PRIVATE-TOKEN: $GITLAB_PRIVATE_ACCESS_TOKEN" \
    --header "Content-Type: application/json" \
    --data '{
    "ref": "$CI_COMMIT_REF_NAME",
    "variables": [ {"key": "KEY1", "value": "VAL1"} ]
}' https://gitlab.com/api/v4/projects/$MY_PROJECT_PATH_SLUG/pipeline

But now when I triggered a MR pipeline calling the create-mr-pipeline. The variables are not passed.

curl --silent --request "POST" \
    --header "PRIVATE-TOKEN: $GITLAB_PRIVATE_ACCESS_TOKEN" \
    --header "Content-Type: application/json" \
    --data '{ "variables": [ {"key": "KEY1", "value": "VAL1"} ]
}' https://gitlab.com/api/v4/projects/$MY_PROJECT_PATH_SLUG/merge_requests/$CI_MERGE_REQUEST_IID/pipelines

Steps to reproduce

  • Create a project including a job that run on merge request only
test-mr:
  image: alpine
  script:
    - echo "KEY1=$KEY1"
  only:
    - merge_requests
curl --silent --request "POST" \
    --header "PRIVATE-TOKEN: $GITLAB_PRIVATE_ACCESS_TOKEN" \
    --header "Content-Type: application/json" \
    --data '{ "variables": [ {"key": "KEY1", "value": "VAL1"} ]
}' https://gitlab.com/api/v4/projects/$MY_PROJECT_PATH_SLUG/merge_requests/$CI_MERGE_REQUEST_IID/pipelines

You should see "KEY1=" as result instead of the expected "KEY1=VAL1".

Example Project

See the previous chapter (version - GitLab EE 12.4.1).

What is the current bug behavior?

Variables are not passed when triggering a MR pipeline using the create-mr-pipeline API

What is the expected correct behavior?

Variables are passed when triggering a MR pipeline using the create-mr-pipeline API

Relevant logs and/or screenshots

Output of checks

Results of GitLab environment info

Results of GitLab application Check

Possible fixes

Edited by 🤖 GitLab Bot 🤖