Multi-project pipeline should support variable for downstream project name

Summary

When triggering a downstream pipeline from a bridge job in .gitlab-ci.yml, using the trigger keyword, it is not possible to use a variable for the project name. Although this may be considered not a bug, but just a limitation, if a bridge job is configured like this, it will hang forever. No error message is displayed and the pipeline needs to be cancelled manually.

This was first discussed as part of #202239 (closed), but apparently is a separate issue.

Steps to reproduce

In .gitlab-ci.yml, create a pipeline trigger bridge job in which the downstream project name is stored within a variable:

some_test: 
  stage: test
  script:
    - echo "If this were real, tests would run at this point."

some_integration_test: 
  stage: integration
  variables:
    INTEGRATION_PROJECT: my/downstream-project
  trigger:
    project: $INTEGRATION_PROJECT
  • The limitation that variable expansion is not supported for the project property is not made explicit in the documentation. It says that variable expansion is supported. This is written right after explaining the branch property, but the wording does not make clear that it is limited to that property. (FWIW, I checked if I can use variables for branch and this works.)

What is the expected correct behavior?

Different variants are possible (sorted from most effort/best UX to minimal effort/worst UX):

  1. Ideally, variable expansion would be support for the project property.
  2. At the very least, the documentation should make perfectly clear that variable expansion is not supported here.
Edited Apr 04, 2022 by Dov Hershkovitch
Assignee Loading
Time tracking Loading