https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/triggers/Trigger.java#L256-L276 and don't see any checks for disabled project at all (1).
I also had a case when .run() was called before .start() on Trigger (2) .
Does anyone know is it designed or bug (1) (2)?
Mar 23, 2015 8:16:00 PM FINE hudson.triggers.Trigger
cron checking hudson.model.FreeStyleProject@6878439f[timerTrigger] with spec ‘* * * * *’
Mar 23, 2015 8:16:00 PM CONFIG hudson.triggers.Trigger
cron triggered hudson.model.FreeStyleProject@6878439f[timerTrigger]
Mar 23, 2015 8:47:08 PM FINE hudson.triggers.Trigger
cron checking hudson.model.FreeStyleProject@39d5e0de[scmTrigger] with spec ‘* * * * *’
Mar 23, 2015 8:47:08 PM CONFIG hudson.triggers.Trigger
cron triggered hudson.model.FreeStyleProject@39d5e0de[scmTrigger]
Mar 23, 2015 8:47:09 PM FINE hudson.triggers.SCMTrigger
Scheduling a polling for hudson.model.FreeStyleProject@39d5e0de[scmTrigger]
Mar 23, 2015 8:47:09 PM FINE hudson.triggers.SCMTrigger
scheduling the trigger to (asynchronously) run
Then it goes to SCMTrigger.Descriptor queue
https://github.com/jenkinsci/jenkins/blob/608517e187cb5bd1566b1c3728a4df0f7ac4dd5c/core/src/main/java/hudson/triggers/SCMTrigger.java#L148
Then queue execute item run()
https://github.com/jenkinsci/jenkins/blob/608517e187cb5bd1566b1c3728a4df0f7ac4dd5c/core/src/main/java/hudson/triggers/SCMTrigger.java#L544
then do runPolling check
https://github.com/jenkinsci/jenkins/blob/608517e187cb5bd1566b1c3728a4df0f7ac4dd5c/core/src/main/java/hudson/triggers/SCMTrigger.java#L505-L515
then finally it checks that item is not Buildable
https://github.com/jenkinsci/jenkins/blob/12251abe8fc46958a1ee931e9bd1ec6730f1efb0/core/src/main/java/hudson/model/AbstractProject.java#L1315-L1323