Poll SCM configuration in Jenkins - Commands & Configuration
jenkins-cli get-job example-job > job-config.xml
sed -i '/<triggers>/a\ <hudson.triggers.SCMTrigger>\n <spec>H/5 * * * *</spec>\n </hudson.triggers.SCMTrigger>' job-config.xml
jenkins-cli update-job example-job < job-config.xml
jenkins-cli get-job example-job | grep -A 3 '<triggers>'
If you remember nothing else from this pattern, remember: Poll SCM lets Jenkins check your code repository on a schedule and build only when there are changes.
Practice
What is the main purpose of the Poll SCM option in Jenkins?
Solution
Step 1: Understand Poll SCM function
Poll SCM is designed to check the source code repository at regular intervals for any new changes.Step 2: Identify the trigger action
When changes are detected, Jenkins triggers a build automatically.Final Answer:
To regularly check the source code repository for changes and trigger builds if changes are found -> Option DQuick Check:
Poll SCM triggers builds on repo changes [OK]
- Confusing Poll SCM with manual build triggers
- Thinking Poll SCM deploys code automatically
- Assuming Poll SCM sends notifications
Which of the following is the correct way to set a Poll SCM schedule to check every 15 minutes in Jenkins?
Solution
Step 1: Understand cron syntax for every 15 minutes
The syntax "*/15 * * * *" means every 15 minutes at minute 0, 15, 30, 45.Step 2: Compare options
0 */15 * * * "0 */15 * * *" polls at minute 0 every 15 hours (e.g., 00:00, 15:00); A is standard cron for every 15 minutes; Options C and D specify fixed times, not every 15 minutes.Final Answer:
*/15 * * * * -> Option AQuick Check:
*/15 means every 15 minutes [OK]
- Using fixed minute values instead of intervals
- Putting interval */15 in the hour field instead of minute field
- Setting wrong fields for minutes
Given the Poll SCM schedule H/10 * * * *, what will Jenkins do?
Solution
Step 1: Understand Jenkins H/ syntax
The 'H' means Jenkins picks a random minute to spread load; 'H/10' means every 10 minutes starting from that random minute.Step 2: Interpret the schedule
Jenkins polls SCM every 10 minutes but start time varies per job to avoid all jobs polling simultaneously.Final Answer:
Poll the SCM every 10 minutes starting at a random minute each hour -> Option CQuick Check:
H/10 means every 10 minutes from random start [OK]
- Thinking H/10 starts exactly at minute 0
- Confusing seconds with minutes
- Assuming polling happens only once per hour
You set Poll SCM with schedule H/5 * * * * but Jenkins never triggers builds even when code changes. What is the most likely cause?
Solution
Step 1: Check Poll SCM schedule validity
Schedule 'H/5 * * * *' is valid and means poll every 5 minutes.Step 2: Identify why builds don't trigger
If no builds trigger despite changes, likely Jenkins cannot access the repo to detect changes.Final Answer:
The repository URL is incorrect or unreachable -> Option BQuick Check:
Unreachable repo stops polling builds [OK]
- Assuming Poll SCM triggers builds without changes
- Blaming schedule syntax when it's correct
- Thinking Jenkins can't poll Git repos
You want Jenkins to poll your Git repository only during office hours (9 AM to 5 PM) every 30 minutes. Which Poll SCM schedule should you use?
Solution
Step 1: Understand hour range in cron
Hours are 0-23; '9-16' covers 9:00 to 16:59 (9 AM to 4:59 PM), matching office hours 9 AM to 5 PM excluding the 5 PM hour.Step 2: Match office hours 9 AM to 5 PM
9-16 includes up to 4:59 PM; 9-17 includes the full 5 PM hour (up to 5:59 PM).Step 3: Confirm polling every 30 minutes
H/30 means every 30 minutes starting at a hashed minute.Final Answer:
H/30 9-16 * * * -> Option AQuick Check:
9-16 hours covers 9 AM to 4:59 PM [OK]
- Using 9-17 which includes the 5 PM hour
- Confusing hour ranges in cron syntax
- Forgetting H/30 means every 30 minutes
Ready to prove it?
Pass the test and this pattern moves unknown
