public void buildWithParameters(StaplerRequest req, StaplerResponse rsp, @CheckForNull TimeDuration delay) throws IOException, ServletException { List<ParameterValue> values = new ArrayList<ParameterValue>(); for (ParameterDefinition d: parameterDefinitions) { ParameterValue value = d.createValue(req); if (value != null) { values.add(value); } } if (delay==null) delay=new TimeDuration(TimeUnit.MILLISECONDS.convert(getJob().getQuietPeriod(), TimeUnit.SECONDS)); Queue.Item item = Jenkins.getInstance().getQueue().schedule2( getJob(), delay.getTimeInSeconds(), new ParametersAction(values), ParameterizedJobMixIn.getBuildCause(getJob(), req)).getItem(); if (item != null) { rsp.sendRedirect(SC_CREATED, req.getContextPath() + '/' + item.getUrl()); } else { rsp.sendRedirect("."); } }
public Object convert(Class type, Object value) { if (value==null) return null; if (value instanceof String) { return fromString((String) value); } throw new UnsupportedOperationException(); } }
delay = new TimeDuration(getJob().getQuietPeriod()); (Task) owner, delay.getTime(), actions );
/** * Creates a {@link TimeDuration} from the delay passed in parameter * @param delay the delay either in milliseconds without unit, or in seconds if suffixed by sec or secs. * @return the TimeDuration created from the delay expressed as a String. */ @CheckForNull public static TimeDuration fromString(@CheckForNull String delay) { if (delay == null) { return null; } long unitMultiplier = 1L; delay = delay.trim(); try { // TODO: more unit handling if (delay.endsWith("sec") || delay.endsWith("secs")) { delay = delay.substring(0, delay.lastIndexOf("sec")); delay = delay.trim(); unitMultiplier = 1000L; } return new TimeDuration(Long.parseLong(delay.trim()) * unitMultiplier); } catch (NumberFormatException e) { throw new IllegalArgumentException("Invalid time duration value: "+delay); } }
? TimeDuration.fromString(req.getParameter("delay")) : new TimeDuration(0); owner, (int) delay.as(TimeUnit.SECONDS), new ParametersAction(values), new CauseAction(new Cause.UserIdCause()),
private TimeDuration getDelayFromRequest(StaplerRequest req) { return (req.hasParameter("delay")) ? TimeDuration.fromString(req.getParameter("delay")) : new TimeDuration(0); }
@RequirePOST public HttpResponse doBuild(@QueryParameter TimeDuration delay) { checkPermission(BUILD); if (!isBuildable()) { throw HttpResponses.error(SC_INTERNAL_SERVER_ERROR, new IOException(getFullName() + " cannot be recomputed")); } scheduleBuild2(delay == null ? 0 : delay.getTime(), new CauseAction(new Cause.UserIdCause())); return HttpResponses.forwardToPreviousPage(); }
@RequirePOST public HttpResponse doBuild(@QueryParameter TimeDuration delay) { checkPermission(BUILD); if (!isBuildable()) { throw HttpResponses.error(SC_INTERNAL_SERVER_ERROR, new IOException(getFullName() + " cannot be recomputed")); } scheduleBuild2(delay == null ? 0 : delay.getTimeInSeconds(), new CauseAction(new Cause.UserIdCause())); return HttpResponses.forwardToPreviousPage(); }
delay = new TimeDuration(this.getJob().getQuietPeriod()); (Task) owner, delay.getTime(), actions );
/** * See: {@link #doBuildWithParameters(StaplerRequest, StaplerResponse, TimeDuration)} */ @Override public void doBuildWithParameters(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { //TODO: The below function did not have the TimeDuration param previously TimeDuration td = new TimeDuration(0); super.doBuildWithParameters(req, rsp, td); }
? TimeDuration.fromString(req.getParameter("delay")) : new TimeDuration(0); owner, (int) delay.as(TimeUnit.SECONDS), new ParametersAction(values), buildCause,
protected JSONObject innerPerform(final Job job, final BuildableItem buildableItem, final TimeDuration delay, final List<Action> extraActions) { final JSONObject result = new JSONObject(); final Jenkins jenkins = Jenkins.getActiveInstance(); final Queue queue = jenkins.getQueue(); final Cause cause = new Cause.UserIdCause(); final CauseAction causeAction = new CauseAction(cause); final Action[] actionArray = ActionHelper.create(extraActions, causeAction); for (Action a : extraActions) { if (a instanceof TeamPullRequestMergedDetailsAction) { cancelPreviousPullRequestBuilds(job, (TeamPullRequestMergedDetailsAction) a, queue); } } final ScheduleResult scheduleResult = queue.schedule2(buildableItem, delay.getTime(), actionArray); final Queue.Item item = scheduleResult.getItem(); if (item != null) { result.put("created", jenkins.getRootUrl() + item.getUrl()); } return result; }
delay=new TimeDuration(TimeUnit.MILLISECONDS.convert(getJob().getQuietPeriod(), TimeUnit.SECONDS)); getJob(), delay.getTimeInSeconds(), new ParametersAction(values), new CauseAction(new Cause.UserIdCause())); if (item!=null) { String url = formData.optString("redirectTo");
delay = new TimeDuration(0); this, delay.getTime(), this.getBuildCauseOverride(req), new VersioningAction(this.getAllVersionsFromCurrentState()) );
/** * {@inheritDoc} */ public void doBuildWithParameters(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { //Purge whatever's stored in the thread from a previous run //ThreadAssocStore.getInstance().clear(Thread.currentThread()); //TODO: The below function did not have the TimeDuration param previously TimeDuration td = new TimeDuration(0); super.doBuildWithParameters(req, rsp, td); }
/** @deprecated use {@link #buildWithParameters(StaplerRequest, StaplerResponse, TimeDuration)} */ @Deprecated public void buildWithParameters(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { buildWithParameters(req,rsp,TimeDuration.fromString(req.getParameter("delay"))); }
/** * Standard implementation of {@link ParameterizedJob#doBuild}. */ @SuppressWarnings("deprecation") public final void doBuild(StaplerRequest req, StaplerResponse rsp, @QueryParameter TimeDuration delay) throws IOException, ServletException { if (delay == null) { delay=new TimeDuration(TimeUnit.MILLISECONDS.convert(asJob().getQuietPeriod(), TimeUnit.SECONDS)); } if (!asJob().isBuildable()) { throw HttpResponses.error(SC_CONFLICT, new IOException(asJob().getFullName() + " is not buildable")); } // if a build is parameterized, let that take over ParametersDefinitionProperty pp = asJob().getProperty(ParametersDefinitionProperty.class); if (pp != null && !req.getMethod().equals("POST")) { // show the parameter entry form. req.getView(pp, "index.jelly").forward(req, rsp); return; } hudson.model.BuildAuthorizationToken.checkPermission(asJob(), asJob().getAuthToken(), req, rsp); if (pp != null) { pp._doBuild(req, rsp, delay); return; } Queue.Item item = Jenkins.getInstance().getQueue().schedule2(asJob(), delay.getTimeInSeconds(), getBuildCause(asJob(), req)).getItem(); if (item != null) { rsp.sendRedirect(SC_CREATED, req.getContextPath() + '/' + item.getUrl()); } else { rsp.sendRedirect("."); } }
delay = new TimeDuration(0); this, delay.getTime(), actions );
/** * Creates a {@link TimeDuration} from the delay passed in parameter * @param delay the delay either in milliseconds without unit, or in seconds if suffixed by sec or secs. * @return the TimeDuration created from the delay expressed as a String. */ @CheckForNull public static TimeDuration fromString(@CheckForNull String delay) { if (delay == null) { return null; } long unitMultiplier = 1L; delay = delay.trim(); try { // TODO: more unit handling if (delay.endsWith("sec") || delay.endsWith("secs")) { delay = delay.substring(0, delay.lastIndexOf("sec")); delay = delay.trim(); unitMultiplier = 1000L; } return new TimeDuration(Long.parseLong(delay.trim()) * unitMultiplier); } catch (NumberFormatException e) { throw new IllegalArgumentException("Invalid time duration value: "+delay); } }
/** @deprecated use {@link #doBuild(StaplerRequest, StaplerResponse, TimeDuration)} */ @Deprecated public void doBuild(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { doBuild(req, rsp, TimeDuration.fromString(req.getParameter("delay"))); }