However, in the following steps, a Jenkins job for another stream path, //stream/Dev-B/… is also fired. * A submit is made to //stream/Dev-B/… * No Jenkins job is fired since the submit was not for //stream/Dev-A/…, which is expected. * A submit is made to //stream/Dev-A/… * A Jenkins job for //stream/Dev-A/… is fired, which is expected. * However, a Jenkins job for //stream/Dev-B/… which was previously submitted is also fired.
Jenkinsfile for //stream/Dev-A/… and //stream/Dev-B/… are attached. See Jenkins_Dev-A and Jenkins_Dev-B.
However, in the following steps, a Jenkins job for another stream path, //stream/Dev-B/… is also fired. * A submit is made to //stream/Dev-B/… * No Jenkins job is fired since the submit was not for //stream/Dev-A/…, which is expected. * A submit is made to //stream/Dev-A/… * A Jenkins job for //stream/Dev-A/… is fired, which is expected. * However, a Jenkins job for //stream/Dev-B/… which was previously submitted is also fired.
Jenkinsfile for //stream/Dev-A/… and //stream/Dev-B/… are attached. See Jenkins_Dev-A and Jenkins_Dev-B.
The Perforce trigger you are using tells all jobs to wake up and check if they need to be built. Therefore any job that has:
triggers { p4Trigger() }
will wake up and check if it needs to be built. In your case there are new changes so it will run the build.
If you are after a more targeted build you need to remove the 'triggers' line above from your pipeline script and call the direct URL for the job in your Perforce trigger. For example: