Bird
Raised Fist0
Jenkinsdevops~5 mins

Pipeline triggers and upstream/downstream in Jenkins - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a pipeline trigger in Jenkins?
A pipeline trigger is a way to start a Jenkins pipeline automatically when a specific event happens, like a code commit or another pipeline finishing.
Click to reveal answer
beginner
Explain upstream and downstream pipelines in Jenkins.
An upstream pipeline is the one that runs first and can trigger another pipeline called the downstream pipeline. The downstream pipeline depends on the upstream pipeline's completion.
Click to reveal answer
intermediate
How can you trigger a downstream pipeline from an upstream pipeline in Jenkins?
You can use the 'build' step in the upstream pipeline script to start the downstream pipeline after the upstream finishes.
Click to reveal answer
beginner
What is the benefit of using pipeline triggers between upstream and downstream jobs?
It automates the workflow, ensuring that dependent tasks run in order without manual intervention, saving time and reducing errors.
Click to reveal answer
beginner
Name one way to trigger a Jenkins pipeline on a code commit.
You can use a webhook from your source code repository (like GitHub) to trigger the Jenkins pipeline when code is pushed.
Click to reveal answer
Which Jenkins pipeline is called the 'downstream' pipeline?
AThe pipeline triggered by another pipeline
BThe pipeline that triggers another pipeline
CThe pipeline that runs independently
DThe pipeline that runs before any other pipeline
What Jenkins step is commonly used to trigger another pipeline?
Acheckout
Bsh
Cbuild
Dstage
How can a Jenkins pipeline be triggered automatically on a code push?
AUsing a webhook from the code repository
BBy running a shell script
CBy scheduling a timer
DBy manually clicking 'Build Now'
What is the main advantage of linking upstream and downstream pipelines?
ATo avoid using Jenkinsfiles
BTo reduce pipeline execution time
CTo run pipelines in parallel
DTo automate sequential workflows
Which of these is NOT a trigger type for Jenkins pipelines?
AWebhook trigger
BDatabase trigger
CManual trigger
DUpstream pipeline trigger
Describe how you would set up a Jenkins pipeline to trigger another pipeline after it finishes.
Think about the Jenkins pipeline script and how one job can start another.
You got /4 concepts.
    Explain the difference between upstream and downstream pipelines and why this relationship is useful.
    Consider which pipeline runs first and which depends on the other.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of using pipeline triggers in Jenkins?
      easy
      A. To delete old job logs automatically
      B. To manually run jobs one by one
      C. To stop all jobs from running
      D. To automatically start a job when another job finishes

      Solution

      1. Step 1: Understand pipeline triggers

        Pipeline triggers are used to start one job automatically after another job finishes.
      2. Step 2: Identify the purpose

        This automation helps connect jobs without manual intervention.
      3. Final Answer:

        To automatically start a job when another job finishes -> Option D
      4. Quick Check:

        Pipeline triggers = automatic job start [OK]
      Hint: Triggers start jobs automatically after others finish [OK]
      Common Mistakes:
      • Thinking triggers run jobs manually
      • Confusing triggers with log cleanup
      • Believing triggers stop jobs
      2. Which syntax correctly triggers a downstream job named Build-App after the current pipeline completes successfully?
      easy
      A. build job: 'Build-App', propagate: true, wait: true
      B. trigger job: 'Build-App' onSuccess
      C. start job 'Build-App' after success
      D. run job 'Build-App' always

      Solution

      1. Step 1: Recall Jenkins pipeline syntax for triggering jobs

        The correct syntax uses the build step with parameters like job, propagate, and wait.
      2. Step 2: Match the correct syntax

        build job: 'Build-App', propagate: true, wait: true matches the correct syntax exactly.
      3. Final Answer:

        build job: 'Build-App', propagate: true, wait: true -> Option A
      4. Quick Check:

        Correct build step syntax = build job: 'Build-App', propagate: true, wait: true [OK]
      Hint: Use 'build job:' syntax to trigger downstream jobs [OK]
      Common Mistakes:
      • Using incorrect keywords like 'trigger' or 'start'
      • Missing required parameters
      • Wrong order or syntax errors
      3. Given this Jenkins pipeline snippet:
      pipeline {
        agent any
        stages {
          stage('Build') {
            steps {
              echo 'Building...'
            }
          }
          stage('Trigger Test') {
            steps {
              build job: 'Test-Job', propagate: true, wait: true
            }
          }
        }
      }

      What happens when the 'Build' stage completes successfully?
      medium
      A. 'Test-Job' runs in parallel without waiting
      B. The 'Test-Job' pipeline starts and Jenkins waits for it to finish
      C. The pipeline stops after 'Build' stage
      D. An error occurs because 'build' is not a valid step

      Solution

      1. Step 1: Understand the 'build' step with 'wait: true'

        The 'build' step triggers another job and waits for it to complete before continuing.
      2. Step 2: Analyze the pipeline flow

        After 'Build' stage, 'Test-Job' starts and Jenkins waits for it to finish before moving on.
      3. Final Answer:

        The 'Test-Job' pipeline starts and Jenkins waits for it to finish -> Option B
      4. Quick Check:

        'build' with wait=true means wait for downstream job [OK]
      Hint: Wait true means wait for downstream job to finish [OK]
      Common Mistakes:
      • Assuming downstream runs in parallel without waiting
      • Thinking pipeline stops early
      • Believing 'build' is invalid step
      4. You have this pipeline snippet:
      build job: 'Deploy-App', propagate: false, wait: true

      What issue might occur if 'Deploy-App' fails?
      medium
      A. Jenkins throws a syntax error
      B. The current pipeline stops immediately on failure
      C. The current pipeline continues despite failure in 'Deploy-App'
      D. 'Deploy-App' runs twice

      Solution

      1. Step 1: Understand 'propagate: false'

        This setting means the failure of the downstream job does not fail the current pipeline.
      2. Step 2: Analyze failure behavior

        If 'Deploy-App' fails, the current pipeline will continue running instead of stopping.
      3. Final Answer:

        The current pipeline continues despite failure in 'Deploy-App' -> Option C
      4. Quick Check:

        propagate false = ignore downstream failure [OK]
      Hint: propagate false lets pipeline ignore downstream failures [OK]
      Common Mistakes:
      • Assuming pipeline stops on downstream failure
      • Confusing propagate with wait
      • Expecting syntax errors
      5. You want to create a Jenkins pipeline where Job A triggers Job B only if Job A succeeds, and Job B triggers Job C regardless of its result. Which configuration correctly achieves this?
      hard
      A. In Job A pipeline: build job: 'Job-B', propagate: true, wait: true
      In Job B pipeline: build job: 'Job-C', propagate: false, wait: false
      B. In Job A pipeline: build job: 'Job-B', propagate: false, wait: false
      In Job B pipeline: build job: 'Job-C', propagate: true, wait: true
      C. In Job A pipeline: build job: 'Job-B', propagate: true, wait: false
      In Job B pipeline: build job: 'Job-C', propagate: true, wait: true
      D. In Job A pipeline: build job: 'Job-B', propagate: false, wait: true
      In Job B pipeline: build job: 'Job-C', propagate: false, wait: true

      Solution

      1. Step 1: Ensure Job B triggers only on Job A success

        Using propagate: true in Job A means failure in Job B will fail Job A, so Job B runs only if Job A succeeds.
      2. Step 2: Ensure Job C triggers regardless of Job B result

        Using propagate: false and wait: false in Job B triggers Job C without waiting and ignores Job C's result.
      3. Final Answer:

        Option A matches these requirements -> Option A
      4. Quick Check:

        propagate true for success-only triggers, false for unconditional [OK]
      Hint: Use propagate true for success-only, false for unconditional triggers [OK]
      Common Mistakes:
      • Using propagate false when success-only is needed
      • Confusing wait true/false effects
      • Triggering downstream jobs incorrectly
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard