Bird
Raised Fist0
Jenkinsdevops~5 mins

Triggers directive in Jenkins - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of the triggers directive in a Jenkins pipeline?
The triggers directive is used to automatically start a Jenkins pipeline based on specific events or schedules, like a timer or a source code change.
Click to reveal answer
beginner
How do you schedule a Jenkins pipeline to run every day at midnight using the triggers directive?
Use the cron trigger inside triggers with the schedule 0 0 * * * to run the pipeline daily at midnight.
Click to reveal answer
intermediate
What is the syntax to trigger a Jenkins pipeline when a GitHub push event occurs?
Use the pollSCM trigger or configure a webhook in GitHub. In declarative pipeline, pollSCM can be set inside triggers to check for changes.
Click to reveal answer
intermediate
Can you use multiple triggers inside the triggers directive? Give an example.
Yes, you can combine triggers like cron and pollSCM inside triggers to run pipelines on schedule and on source changes.
Click to reveal answer
beginner
What happens if you omit the triggers directive in a Jenkins pipeline?
The pipeline will not start automatically. It must be started manually or triggered by other means outside the pipeline script.
Click to reveal answer
Which Jenkins pipeline directive is used to automatically start a job on a schedule?
Atriggers
Benvironment
Cstages
Dsteps
What cron expression runs a Jenkins pipeline every hour?
A0 * * * *
B* 0 * * *
C0 0 * * *
D* * * * 0
Which trigger checks for source code changes in Jenkins?
Acron
Btimer
CpollSCM
Dmanual
Can you combine multiple triggers inside the triggers directive?
ATriggers cannot be used in pipelines
BNo, only one trigger is allowed
COnly cron triggers can be combined
DYes, multiple triggers can be combined
What happens if no triggers directive is defined in a Jenkins pipeline?
APipeline runs automatically every minute
BPipeline runs only when started manually
CPipeline fails to run
DPipeline runs on every code commit
Explain how the triggers directive works in Jenkins pipelines and give an example of a scheduled trigger.
Think about how to run a job every day without clicking start.
You got /3 concepts.
    Describe how you can trigger a Jenkins pipeline when code changes happen in a Git repository.
    Consider how Jenkins knows when new code is pushed.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of the triggers directive in a Jenkins pipeline?
      easy
      A. To configure the user permissions
      B. To define the steps of the build process
      C. To start jobs automatically based on time or events
      D. To specify the environment variables

      Solution

      1. Step 1: Understand the role of triggers

        The triggers directive is used to start Jenkins jobs automatically without manual intervention.
      2. Step 2: Compare with other pipeline directives

        Other directives like steps define build actions, environment sets variables, and permissions control access, not job start timing.
      3. Final Answer:

        To start jobs automatically based on time or events -> Option C
      4. Quick Check:

        Triggers = automatic job start [OK]
      Hint: Triggers start jobs automatically by time or events [OK]
      Common Mistakes:
      • Confusing triggers with build steps
      • Thinking triggers set environment variables
      • Assuming triggers control user permissions
      2. Which of the following is the correct syntax to trigger a Jenkins pipeline every day at midnight using the triggers directive?
      easy
      A. triggers { cron('0 0 * * *') }
      B. triggers { cron('60 24 * * *') }
      C. triggers { pollSCM('0 0 * * *') }
      D. triggers { cron('0 0 0 * *') }

      Solution

      1. Step 1: Understand cron syntax in Jenkins

        Jenkins cron uses five fields: minute hour day month weekday. '0 0 * * *' means midnight every day.
      2. Step 2: Identify correct trigger usage

        The triggers directive uses cron('schedule') to schedule jobs. pollSCM is for source control polling, not time-based triggers.
      3. Final Answer:

        triggers { cron('0 0 * * *') } -> Option A
      4. Quick Check:

        Midnight cron = '0 0 * * *' [OK]
      Hint: Use cron('0 0 * * *') for daily midnight trigger [OK]
      Common Mistakes:
      • Using invalid cron times like '60 24'
      • Confusing pollSCM with cron
      • Misordering cron fields
      3. Given this Jenkins pipeline snippet, what will trigger the job?
      triggers {
        upstream(upstreamProjects: 'BuildApp', threshold: hudson.model.Result.SUCCESS)
      }
      medium
      A. The job triggers manually only
      B. The job triggers every minute
      C. The job triggers when code is pushed to SCM
      D. The job triggers when the 'BuildApp' job completes successfully

      Solution

      1. Step 1: Understand the upstream trigger

        The upstream trigger starts this job when the specified upstream job finishes with the given result.
      2. Step 2: Analyze the parameters

        upstreamProjects: 'BuildApp' means the job named 'BuildApp' triggers this job. threshold SUCCESS means only on successful completion.
      3. Final Answer:

        The job triggers when the 'BuildApp' job completes successfully -> Option D
      4. Quick Check:

        Upstream job success triggers downstream [OK]
      Hint: Upstream triggers run after specified job success [OK]
      Common Mistakes:
      • Thinking it triggers every minute
      • Confusing upstream with SCM polling
      • Assuming manual trigger only
      4. Identify the error in this Jenkins pipeline trigger configuration:
      triggers {
        cron('0 25 * * *')
      }
      medium
      A. The hour field '25' is invalid in cron syntax
      B. The cron syntax is correct and will run at 25 minutes past midnight
      C. The cron directive should be inside a steps block
      D. The cron string must have six fields, not five

      Solution

      1. Step 1: Check cron field ranges

        Cron fields are minute (0-59), hour (0-23), day, month, weekday. '25' in hour field is invalid.
      2. Step 2: Validate placement and field count

        Cron is correctly placed in triggers and uses five fields, which is standard in Jenkins.
      3. Final Answer:

        The hour field '25' is invalid in cron syntax -> Option A
      4. Quick Check:

        Hour must be 0-23 in cron [OK]
      Hint: Hour in cron must be 0-23, not 25 [OK]
      Common Mistakes:
      • Assuming cron has six fields
      • Placing cron inside steps block
      • Thinking 25 means 25 minutes
      5. You want a Jenkins job to run every 15 minutes but only if there are changes in the source code repository. Which triggers directive setup achieves this?
      hard
      A. triggers { cron('*/15 * * * *') }
      B. triggers { pollSCM('H/15 * * * *') }
      C. triggers { upstream(upstreamProjects: 'RepoUpdate', threshold: hudson.model.Result.SUCCESS) }
      D. triggers { pollSCM('0 0 * * *') }

      Solution

      1. Step 1: Understand pollSCM usage

        pollSCM triggers the job every specified interval but only if SCM changes are detected.
      2. Step 2: Analyze the cron expressions

        'H/15 * * * *' means every 15 minutes with hashing for load balancing. cron triggers regardless of SCM changes.
      3. Final Answer:

        triggers { pollSCM('H/15 * * * *') } -> Option B
      4. Quick Check:

        pollSCM runs on changes every 15 minutes [OK]
      Hint: Use pollSCM with 'H/15 * * * *' for change-based 15-min trigger [OK]
      Common Mistakes:
      • Using cron which triggers regardless of changes
      • Confusing upstream trigger with SCM polling
      • Setting pollSCM to wrong cron expression
      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