When using Poll per change the system will correctly run individual builds for each new changelist but if using 'p4sync' or 'checkout' steps are used they will sync to #HEAD instead of the changelist to be built.
For example if the Jenkinsfile relies on the implicit sync that happens automatically the behavior is:
If instead the implicit sync is switched off and an explicit 'p4sync' or checkout' is used in the Jenkinsfile the behavior is:
(1) Create a pipeline job with Jenkinsfile in SCM and polling build filter of 'Polling Per Change'.
(2) Create a dummy Jenkinsfile with a sleep and submit to Perforce. For example:
(3) Create 3 changelists in relevant path then run 'poll now' on job (customised to your environment) as it is.
(4) Uncomment 3 lines in Jenkinsfile and submit to Perforce.
(5) Create 3 changelists in relevant path then run 'poll now' on job.