Skip to content
Latchkey

GitLab CI "downstream pipeline could not be created" in CI

A trigger job tried to create a child or multi-project pipeline and the downstream pipeline was rejected. The downstream .gitlab-ci.yml is invalid, has no visible jobs, or its branch/ref does not exist.

What this error means

The trigger job is marked failed with "downstream pipeline can not be created" or "Failed to create the downstream pipeline". No child pipeline link appears.

Trigger job
Downstream pipeline can not be created, Ref is not specified or Pipeline will not run for the selected trigger.

Common causes

The downstream config is invalid or empty

The child pipeline's YAML fails to parse or has no visible job, so GitLab cannot create it.

A missing ref or excluded rules downstream

The target branch does not exist, or the downstream workflow:rules produces no pipeline for the trigger.

How to fix it

Validate the downstream config

  1. Open the child or target project config and run CI Lint on it.
  2. Ensure it has at least one visible job for the triggering event.
  3. Confirm the branch/ref you pass actually exists.
.gitlab-ci.yml
trigger-child:
  trigger:
    include: child-pipeline.yml
    strategy: depend

Specify a valid ref for multi-project triggers

For a multi-project trigger, name a project and a ref that exists.

.gitlab-ci.yml
trigger-deploy:
  trigger:
    project: group/deploy-project
    branch: main

How to prevent it

  • Lint downstream configs as part of their own pipeline.
  • Ensure downstream pipelines always have a visible job for the trigger.
  • Pass refs that exist when triggering multi-project pipelines.

Frequently asked questions

What causes ""downstream pipeline could not be created""?
The child pipeline's YAML fails to parse or has no visible job, so GitLab cannot create it.
How do I fix "downstream pipeline could not be created"?
Validate the downstream config

Related guides

References

Latchkey auto-heals failures like this one - detected, fixed, and retried without you. Start free → 30-day trial · No credit card