提交 43f1f5d1 编写于 作者: J Jesse Glick

[FIXED JENKINS-14813] 404 canceling queue items.

上级 c2f3012a
...@@ -55,9 +55,12 @@ Upcoming changes</a> ...@@ -55,9 +55,12 @@ Upcoming changes</a>
<!-- Record your changes in the trunk here. --> <!-- Record your changes in the trunk here. -->
<div id="trunk" style="display:none"><!--=TRUNK-BEGIN=--> <div id="trunk" style="display:none"><!--=TRUNK-BEGIN=-->
<ul class=image> <ul class=image>
<li class=bug>
Avoid a 404 when canceling queue items.
(<a href="https://issues.jenkins-ci.org/browse/JENKINS-14813">issue 14813</a>)
<li class=bug> <li class=bug>
Added missing parameters as defaults when called from CLI Added missing parameters as defaults when called from CLI
(<a href="https://issues.jenkins-ci.org/browse/JENKINS-7162">issue 7162</a>) (<a href="https://issues.jenkins-ci.org/browse/JENKINS-7162">issue 7162</a>)
<li class=bug> <li class=bug>
NPE from <code>UpdateSite$Plugin.getNeededDependencies</code>. NPE from <code>UpdateSite$Plugin.getNeededDependencies</code>.
(<a href="https://issues.jenkins-ci.org/browse/JENKINS-14769">issue 14769</a>) (<a href="https://issues.jenkins-ci.org/browse/JENKINS-14769">issue 14769</a>)
......
...@@ -102,6 +102,7 @@ import org.kohsuke.stapler.export.ExportedBean; ...@@ -102,6 +102,7 @@ import org.kohsuke.stapler.export.ExportedBean;
import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter; import com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter;
import org.kohsuke.stapler.QueryParameter;
/** /**
* Build queue. * Build queue.
...@@ -570,6 +571,17 @@ public class Queue extends ResourceController implements Saveable { ...@@ -570,6 +571,17 @@ public class Queue extends ResourceController implements Saveable {
return r; return r;
} }
/**
* Called from {@code queue.jelly} and {@code entries.jelly}.
*/
public HttpResponse doCancelItem(@QueryParameter int id) throws IOException, ServletException {
Item item = getItem(id);
if (item != null) {
cancel(item);
} // else too late, ignore (JENKINS-14813)
return HttpResponses.forwardToPreviousPage();
}
public synchronized boolean isEmpty() { public synchronized boolean isEmpty() {
return waitingList.isEmpty() && blockedProjects.isEmpty() && buildables.isEmpty() && pendings.isEmpty(); return waitingList.isEmpty() && blockedProjects.isEmpty() && buildables.isEmpty() && pendings.isEmpty();
} }
...@@ -1362,9 +1374,8 @@ public class Queue extends ResourceController implements Saveable { ...@@ -1362,9 +1374,8 @@ public class Queue extends ResourceController implements Saveable {
return null; return null;
} }
/** /** @deprecated Use {@link #doCancelItem} instead. */
* Called from queue.jelly. @Deprecated
*/
public HttpResponse doCancelQueue() throws IOException, ServletException { public HttpResponse doCancelQueue() throws IOException, ServletException {
Jenkins.getInstance().getQueue().cancel(this); Jenkins.getInstance().getQueue().cancel(this);
return HttpResponses.forwardToPreviousPage(); return HttpResponses.forwardToPreviousPage();
......
...@@ -43,7 +43,7 @@ THE SOFTWARE. ...@@ -43,7 +43,7 @@ THE SOFTWARE.
<td style="white-space:normal;" colspan="2"> <td style="white-space:normal;" colspan="2">
<div style="float:right"> <div style="float:right">
<j:if test="${item.hasCancelPermission()}"> <j:if test="${item.hasCancelPermission()}">
<a href="${rootURL}/queue/item/${item.id}/cancelQueue"> <a href="${rootURL}/queue/cancelItem?id=${item.id}">
<img src="${imagesURL}/16x16/stop.png" alt="${%cancel this build}" height="16" width="16"/> <img src="${imagesURL}/16x16/stop.png" alt="${%cancel this build}" height="16" width="16"/>
</a> </a>
</j:if> </j:if>
......
...@@ -79,7 +79,7 @@ THE SOFTWARE. ...@@ -79,7 +79,7 @@ THE SOFTWARE.
</td> </td>
<td class="pane" width="16" align="center" valign="middle"> <td class="pane" width="16" align="center" valign="middle">
<j:if test="${item.hasCancelPermission()}"> <j:if test="${item.hasCancelPermission()}">
<a href="${rootURL}/queue/item/${item.id}/cancelQueue"><img src="${imagesURL}/16x16/stop.png" alt="cancel this build" height="16" width="16"/></a> <a href="${rootURL}/queue/cancelItem?id=${item.id}"><img src="${imagesURL}/16x16/stop.png" alt="cancel this build" height="16" width="16"/></a>
</j:if> </j:if>
</td> </td>
</tr> </tr>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册