Problem Statement
Which of these is a valid Jenkins build trigger?
Explanation
Jenkins supports multiple build trigger types. Manual trigger allows starting builds on-demand through UI or API. SCM polling periodically checks repository for changes using cron syntax (e.g., H/5 * * * * checks every 5 minutes), triggering builds when changes detected. Polling is simple but inefficient and has delay between commit and build.
Webhooks (push notifications) are preferred where SCM (GitHub, GitLab, Bitbucket) notifies Jenkins immediately when code is pushed, triggering builds instantly without polling overhead. Configure webhooks in SCM settings pointing to Jenkins endpoint (github-webhook/ for GitHub). Webhooks require Jenkins accessible from SCM server and proper webhook secret configuration for security.
Scheduled builds (Build periodically) trigger at specified times using cron syntax regardless of code changes, useful for nightly builds or periodic testing. Trigger builds after other projects complete (Build after other projects are built) enables pipeline chaining. Understanding triggers is essential for automation - webhooks are best practice for immediate feedback, polling as fallback, and scheduled builds for time-based operations.
