Refine search
@Override public void onCompleted(@Nonnull Run r, @Nonnull TaskListener listener) { Collection<ReverseBuildTrigger> triggers; synchronized (this) { if (upstream2Trigger == null) { upstream2Trigger = calculateCache(); } Collection<ReverseBuildTrigger> _triggers = upstream2Trigger.get(r.getParent()); if (_triggers == null || _triggers.isEmpty()) { return; } triggers = new ArrayList<>(_triggers); } for (final ReverseBuildTrigger trigger : triggers) { if (trigger.shouldTrigger(r, listener)) { if (!trigger.job.isBuildable()) { listener.getLogger().println(hudson.tasks.Messages.BuildTrigger_Disabled(ModelHyperlinkNote.encodeTo(trigger.job))); continue; } String name = ModelHyperlinkNote.encodeTo(trigger.job) + " #" + trigger.job.getNextBuildNumber(); if (ParameterizedJobMixIn.scheduleBuild2(trigger.job, -1, new CauseAction(new Cause.UpstreamCause(r))) != null) { listener.getLogger().println(hudson.tasks.Messages.BuildTrigger_Triggering(name)); } else { listener.getLogger().println(hudson.tasks.Messages.BuildTrigger_InQueue(name)); } } } } }
/** @see BuildableItem#scheduleBuild(int) */ @SuppressWarnings("deprecation") public final boolean scheduleBuild(int quietPeriod) { return scheduleBuild(quietPeriod, new Cause.LegacyCodeCause()); }
@Override protected SearchIndexBuilder makeSearchIndex() { return getParameterizedJobMixIn().extendSearchIndex(super.makeSearchIndex()); }
/** @see BuildableItem#scheduleBuild(Cause) */ public final boolean scheduleBuild(Cause c) { return scheduleBuild(asJob().getQuietPeriod(), c); }
/** * Suggested implementation of {@link ParameterizedJob#getBuildNowText}. */ public final String getBuildNowText() { return isParameterized() ? AlternativeUiTextProvider.get(BUILD_NOW_TEXT, asJob(), Messages.ParameterizedJobMixIn_build_with_parameters()) : AlternativeUiTextProvider.get(BUILD_NOW_TEXT, asJob(), Messages.ParameterizedJobMixIn_build_now()); }
@CheckForNull Queue.Item scheduleBuild2(int quietPeriod, List<Action> actions) { if (!asJob().isBuildable()) return null; List<Action> queueActions = new ArrayList<Action>(actions); if (isParameterized() && Util.filter(queueActions, ParametersAction.class).isEmpty()) { queueActions.add(new ParametersAction(getDefaultParametersValues())); } return Jenkins.getInstance().getQueue().schedule2(asJob(), quietPeriod, queueActions).getItem(); }
protected int run() throws Exception { job.checkPermission(Item.BUILD); ParametersDefinitionProperty pdp = job.getProperty(ParametersDefinitionProperty.class); if (pdp==null) throw new IllegalStateException(job.getFullDisplayName()+" is not parameterized but the -p option was specified."); Queue.Item item = ParameterizedJobMixIn.scheduleBuild2(job, 0, new CauseAction(new CLICause(Jenkins.getAuthentication().getName())), a); QueueTaskFuture<? extends Run<?,?>> f = item != null ? (QueueTaskFuture)item.getFuture() : null;
/** * 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("."); } }
/** * Standard implementation of {@link ParameterizedJob#doBuildWithParameters}. */ @SuppressWarnings("deprecation") public final void doBuildWithParameters(StaplerRequest req, StaplerResponse rsp, @QueryParameter TimeDuration delay) throws IOException, ServletException { hudson.model.BuildAuthorizationToken.checkPermission(asJob(), asJob().getAuthToken(), req, rsp); ParametersDefinitionProperty pp = asJob().getProperty(ParametersDefinitionProperty.class); if (!asJob().isBuildable()) { throw HttpResponses.error(SC_CONFLICT, new IOException(asJob().getFullName() + " is not buildable!")); } if (pp != null) { pp.buildWithParameters(req, rsp, delay); } else { throw new IllegalStateException("This build is not parameterized!"); } }
public void run() { if (runPolling()) { String name = " #"+job.getNextBuildNumber(); BitBucketPushCause cause; try { cause = new BitBucketPushCause(getLogFile(), pushBy); } catch (IOException e) { LOGGER.log(Level.WARNING, "Failed to parse the polling log",e); cause = new BitBucketPushCause(pushBy); } ParameterizedJobMixIn pJob = new ParameterizedJobMixIn() { @Override protected Job asJob() { return job; } }; BitBucketPayload bitBucketPayload = new BitBucketPayload(payload); pJob.scheduleBuild2(5, new CauseAction(cause), bitBucketPayload); if (pJob.scheduleBuild(cause)) { LOGGER.info("SCM changes detected in "+ job.getName()+". Triggering "+ name); } else { LOGGER.info("SCM changes detected in "+ job.getName()+". Job is already in the queue"); } } }
/** * Standard implementation of {@link ParameterizedJob#isParameterized}. */ public final boolean isParameterized() { return asJob().getProperty(ParametersDefinitionProperty.class) != null; }
public Queue.Item run(String stageName) { if (stageName == null || stageName.equals("")) { throw new IllegalStateException(Messages.RestartDeclarativePipelineAction_NullStageName()); } if (!run.hasPermission(Item.BUILD) || !run.getParent().isBuildable()) { throw new IllegalStateException(Messages.RestartDeclarativePipelineAction_ProjectNotBuildable(run.getParent().getFullName())); } if (run.isBuilding()) { throw new IllegalStateException(Messages.RestartDeclarativePipelineAction_OriginRunIncomplete(run.getFullDisplayName())); } ExecutionModelAction execAction = run.getAction(ExecutionModelAction.class); if (execAction == null) { throw new IllegalStateException(Messages.RestartDeclarativePipelineAction_OriginWasNotDeclarative(run.getFullDisplayName())); } if (!getRestartableStages().contains(stageName)) { throw new IllegalStateException(Messages.RestartDeclarativePipelineAction_StageNameNotPresent(stageName, run.getFullDisplayName())); } List<Action> actions = new ArrayList<>(); CpsFlowExecution execution = getExecution(); if (execution == null) { throw new IllegalStateException(Messages.RestartDeclarativePipelineAction_OriginRunMissingExecution(run.getFullDisplayName())); } actions.add(new RestartFlowFactoryAction(run.getExternalizableId())); actions.add(new CauseAction(new Cause.UserIdCause(), new RestartDeclarativePipelineCause(run, stageName))); return ParameterizedJobMixIn.scheduleBuild2(run.getParent(), 0, actions.toArray(new Action[actions.size()])); }
public void run() { if (runPolling()) { GitHubPushCause cause; try { cause = new GitHubPushCause(getLogFile(), pushBy); } catch (IOException e) { LOGGER.warn("Failed to parse the polling log", e); cause = new GitHubPushCause(pushBy); } if (asParameterizedJobMixIn(job).scheduleBuild(cause)) { LOGGER.info("SCM changes detected in " + job.getFullName() + ". Triggering #" + job.getNextBuildNumber()); } else { LOGGER.info("SCM changes detected in " + job.getFullName() + ". Job is already in the queue"); } } } });
Queue.Item queuedItem = ParameterizedJobMixIn.scheduleBuild2(omittedPipeline, -1, new CauseAction(omittedPipelineTriggerCauses)); if(queuedItem == null) { listener.getLogger().println("[withMaven] downstreamPipelineTriggerRunListener - Failure to trigger omitted pipeline " + ModelHyperlinkNote.encodeTo(omittedPipeline) + " due to causes " + Run downstreamJobLastBuild = downstreamJob.getLastBuild(); if (downstreamJobLastBuild == null) { Queue.Item queuedItem = ParameterizedJobMixIn.scheduleBuild2(downstreamJob, -1, new CauseAction(cause)); dependenciesMessage + ", invocation rejected."); } else { listener.getLogger().println("[withMaven] downstreamPipelineTriggerRunListener - Triggering downstream pipeline " + ModelHyperlinkNote.encodeTo(downstreamJob) + "#" + downstreamJob.getNextBuildNumber() + " due to dependency on " + dependenciesMessage + " ...");
postContent, resolvedVariables, printContributedVariables, printPostContent, cause); final ParametersDefinitionProperty parametersDefinitionProperty = job.getProperty(ParametersDefinitionProperty.class); final ParametersAction parameters = createParameterAction(parametersDefinitionProperty, resolvedVariables); item = .scheduleBuild2( job, RESPECT_JOBS_QUIET_PERIOD, new CauseAction(genericCause), parameters);
/** * Standard implementation of {@link ParameterizedJob#scheduleBuild2}. */ public final @CheckForNull QueueTaskFuture<RunT> scheduleBuild2(int quietPeriod, Action... actions) { Queue.Item i = scheduleBuild2(quietPeriod, Arrays.asList(actions)); return i != null ? (QueueTaskFuture) i.getFuture() : null; }
/** * Use from a {@link Job#makeSearchIndex} override. * @param sib the super value * @return the value to return */ public final SearchIndexBuilder extendSearchIndex(SearchIndexBuilder sib) { if (asJob().isBuildable() && asJob().hasPermission(Item.BUILD)) { sib.add("build", "build"); } return sib; }
BuildData buildData = null; if (!(job instanceof MatrixProject) && !StringUtils.isEmpty(lastBuildId)) { Run<?, ?> lastBuild = job.getBuild(lastBuildId); if (lastBuild != null) { buildData = lastBuild.getAction(BuildData.class); return scheduledJob.scheduleBuild2( Jenkins.getInstance().getQuietPeriod(), new CauseAction(cause),
/** * Standard implementation of {@link ParameterizedJob#doCancelQueue}. */ @RequirePOST public final void doCancelQueue( StaplerRequest req, StaplerResponse rsp ) throws IOException, ServletException { asJob().checkPermission(Item.CANCEL); Jenkins.getInstance().getQueue().cancel(asJob()); rsp.forwardToPreviousPage(req); }
protected int run() throws Exception { job.checkPermission(Item.BUILD); ParametersDefinitionProperty pdp = job.getProperty(ParametersDefinitionProperty.class); if (pdp==null) throw new IllegalStateException(job.getFullDisplayName()+" is not parameterized but the -p option was specified."); Queue.Item item = ParameterizedJobMixIn.scheduleBuild2(job, 0, new CauseAction(new CLICause(Jenkins.getAuthentication().getName())), a); QueueTaskFuture<? extends Run<?,?>> f = item != null ? (QueueTaskFuture)item.getFuture() : null;