Details
-
Type:
Improvement
-
Status: Resolved (View Workflow)
-
Priority:
Major
-
Resolution: Fixed
-
Component/s: core
-
Labels:None
-
Environment:Jenkins 1.460 on Debian Squeeze
-
Similar Issues:
Description
Right now, every call on the buildWithParameters URL will always redirect to the job page on success. If this API is queried through an Ajax call, it should return a JSON output of the current job instead. This can easily be detected based on the Content-Type http header sent by the client.
This is useful for example if one wants to trigger a parametrized build from jQuery, and parse the result. Right now, jQuery will always get back the HTML page of the job, which makes it hard to do any error handling.
Attachments
Issue Links
- is related to
-
JENKINS-22865 buildWithParameters doesn't redirect to the build page
-
- Reopened
-
Code changed in jenkins
User: Kohsuke Kawaguchi
Path:
core/src/main/java/hudson/model/ParametersDefinitionProperty.java
http://jenkins-ci.org/commit/jenkins/680dd4a21a575cebe37648b215b8f714848f6a15
Log:
[FIXED JENKINS-13546]
Bringing this to the parity with ParameterizedJobMixIn.doBuild()
Instead of returning JSON, it returns "201 Created" and responds with the location of the queue item, through which the caller can track how it passes through the queue and eventually gets built/cancelled.
The approach in pull request #750 that relies on
AbstractProject.getQueueItem() is inherently unreliable, because
item can be immediately built before the JSON is rendered, or it might
corresponds to other queued items if the build supports concurrent
builds, etc.