How to determine whether the Jenkins build was started by a user or the scheduler?

I have a Jenkins job which does some unit-testing for some code. It can be started in two possible ways:

  1. By the scheduler – it polls the Perforce server, and starts the job when it detects a code change
  2. By a user, on demand – it downloads a shelved/stashed code change, and checks whether it breaks the tests

The second way is called “Build Review”:

Build Review


If the job discovers problems, I want to send emails conditionally, to avoid spam:

  1. If invoked by the scheduler, send mails to everyone who did check-ins since last successful build (called “developers” in Jenkins jargon)
  2. If invoked by a specific user, send a mail only to that user

I am using the Any Build Step plugin to add two conditional instances of Editable email Notification into my job settings. But what are the conditions? How can I tell it to send mail only if invoked in a specific way, (1) or (2) above?

Go to Source
Author: anatolyg