When I configure the job in Jenkins I see the following build trigger URL example:
JENKINS_URL/job/pipeline/build?token=TOKEN_NAME
However, I see a different URL on the Subversion plug-in's page:
http://server/subversion/${UUID}/notifyCommit?rev=$REV
Why are these URLs different? Do they serve different purpose? I assume that contacting the first URL will trigger Jenkins build, and the second one will update SVN working copy used with build jobs.
Why does the plug-in require repository UUID to be present in the URL? Is it required for svn:externals
discovery?
Jenkins has multiple different build triggers. "Trigger builds remotely" is one such build trigger, and it takes the following URL format:
JENKINS_URL/job/testgrid/job/testgrid/build?token=TOKEN_NAME
The Subversion hook based build trigger is another build trigger. This is provided by the Subversion plugin which can register its own Servlet/URL. There are other plugins like GitHub plugin (JENKINS_URL/github-webhook/
), generic webhook trigger (JENKINS_URL/generic-webhook-trigger/invoke
) that register their own URLs as well.
These are different ways of triggering builds. Depending on the plugin used, they may provide specialized functionality though. In your case with Subversion plugin, the $REV parameter tells Jenkins to check out exactly the revision which was reported by the hook.
Here's a screenshot of the build triggers section with trigger builds remotely
and GitHub hook trigger
enabled: