Backend: Multi-project pipelines triggered via API do not display trigger variables
Summary
Jobs within multi-project pipelines triggered via the API do not display environment variables in the job view.
Steps to reproduce
Create a new project and use the following .gitlab-ci.yml
(replacing the project ID as needed).
job1:
rules:
- if: '$CI_PIPELINE_SOURCE == "push"'
when: always
script:
- curl -X POST -F token=$CI_JOB_TOKEN -F ref=master -F "variables[MYVAR]=test" "https://gitlab.com/api/v4/projects/<project_id>/pipeline"
job2:
rules:
- if: '$CI_PIPELINE_SOURCE == "pipeline"'
when: always
script:
- echo "this was triggered"
Replacing the token with a trigger token, and adjusting the job2
rule to match on trigger
will result in a "non multi-project pipeline", wherein the jobs correctly show the variables that were passed.
What is the current bug behavior?
When a job is created within a multi-project pipeline that was triggered via an API request, the job view does not show any environment variables that were passed with the trigger.
What is the expected correct behavior?
Variables passed to the job via the API request should show within the UI when viewing the job, like so:
User Impact
When a job is created within a multi-project pipeline that was triggered via an API request, the job view does not show any environment variables that were passed with the trigger. Variables passed to the job via the API request should show within the UI when viewing the job.