sd1517
sd1517

Reputation: 647

Trigger gitlab downstream pipeline from a upstream pipeline in a multi-project using trigger, rules and custom configuration variables

I have this scenario where I want to run the trigger in build stage only when $FLAG variable has been set by the .pre stage. However, the build stage never runs.

How should I conditionally trigger a downstream pipeline?

checkArtifactPresent:
  stage: .pre
  script:
    - >
      set +e;
      if curl -s -S -f $NEXUS_RAW_PICKER_REPOSITORY/${PRODUCT_FLAVOR}/${PRODUCT_FLAVOR}-${BUILD_TYPE}v${PICKER_TEMPLATE_TAG}.apk --output ${PRODUCT_FLAVOR}-${BUILD_TYPE}v${PICKER_TEMPLATE_TAG}.apk;
      then
        export FLAG= true;
      fi

buildArtifact:
  stage: build
  only:
   variables:
     - $FLAG
  trigger:
   project: dev/project_name
   strategy: depend

Upvotes: 1

Views: 2121

Answers (1)

Sourav
Sourav

Reputation: 3392

You can make use of Gitlab web api for Triggering pipelines through API

You can make use of trigger variables. You can apply conditions and then trigger the downstream job.

Here you can find a simple example:

https://docs.gitlab.com/ee/ci/triggers/#making-use-of-trigger-variables

Upvotes: 2

Related Questions