@Override protected RevisionParameterAction createRevisionParameter(NoteHook hook, GitSCM gitSCM) throws NoRevisionToBuildException { return new RevisionParameterAction(retrieveRevisionToBuild(hook), retrieveUrIish(hook)); }
@Override protected RevisionParameterAction createRevisionParameter(PipelineHook hook, GitSCM gitSCM) throws NoRevisionToBuildException { return new RevisionParameterAction(retrieveRevisionToBuild(hook), retrieveUrIish(hook)); }
@Override protected RevisionParameterAction createRevisionParameter(PushHook hook, GitSCM gitSCM) throws NoRevisionToBuildException { return new RevisionParameterAction(retrieveRevisionToBuild(hook, gitSCM), retrieveUrIish(hook)); }
@Override protected RevisionParameterAction createRevisionParameter(MergeRequestHook hook, GitSCM gitSCM) throws NoRevisionToBuildException { return new RevisionParameterAction(retrieveRevisionToBuild(hook), retrieveUrIish(hook)); }
private void handleMergeRequest(Job<?, ?> job, PushHook hook, boolean ciSkip, BranchFilter branchFilter, GitLabClient client, MergeRequest mergeRequest) { if (ciSkip && mergeRequest.getDescription() != null && mergeRequest.getDescription().contains("[ci-skip]")) { LOGGER.log(Level.INFO, "Skipping MR " + mergeRequest.getTitle() + " due to ci-skip."); return; } Boolean workInProgress = mergeRequest.getWorkInProgress(); if (skipWorkInProgressMergeRequest && workInProgress != null && workInProgress) { LOGGER.log(Level.INFO, "Skip WIP Merge Request #{0} ({1})", toArray(mergeRequest.getIid(), mergeRequest.getTitle())); return; } String sourceBranch = mergeRequest.getSourceBranch(); String targetBranch = mergeRequest.getTargetBranch(); if (targetBranch != null && branchFilter.isBranchAllowed(sourceBranch, targetBranch) && hook.getRef().equals("refs/heads/"+targetBranch) && sourceBranch != null) { LOGGER.log(Level.INFO, "{0} triggered for push to target branch of open merge request #{1}.", LoggerUtil.toArray(job.getFullName(), mergeRequest.getId())); Branch branch = client.getBranch(mergeRequest.getSourceProjectId().toString(), sourceBranch); Project project = client.getProject(mergeRequest.getSourceProjectId().toString()); String commit = branch.getCommit().getId(); setCommitStatusPendingIfNecessary(job, mergeRequest.getSourceProjectId(), commit, branch.getName()); List<Action> actions = Arrays.<Action>asList(new CauseAction(new GitLabWebHookCause(retrieveCauseData(hook, project, mergeRequest, branch))), new RevisionParameterAction(commit, retrieveUrIish(hook))); scheduleBuild(job, actions.toArray(new Action[actions.size()])); } }
@Override public Action getAction(AbstractBuild<?, ?> build, TaskListener listener) { BuildData data = build.getAction(BuildData.class); if (data == null) { listener.getLogger().println("This project doesn't use Git as SCM. Can't pass the revision to downstream"); return null; } return new RevisionParameterAction(data.getLastBuiltRevision().getSha1String()); }
@Override public Action getAction(AbstractBuild<?, ?> build, TaskListener listener) { BuildData data = build.getAction(BuildData.class); if (data == null) { listener.getLogger().println("This project doesn't use Git as SCM. Can't pass the revision to downstream"); return null; } return new RevisionParameterAction(data.getLastBuiltRevision().getSha1String()); }
@Override @SuppressFBWarnings(value="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE", justification="Jenkins.getInstance() is not null") public Action getAction(AbstractBuild<?,?> build, TaskListener listener) { BuildData data = build.getAction(BuildData.class); if (data == null && Jenkins.getInstance().getPlugin("promoted-builds") != null) { if (build instanceof hudson.plugins.promoted_builds.Promotion) { // We are running as a build promotion, so have to retrieve the git scm from target job data = ((hudson.plugins.promoted_builds.Promotion) build).getTarget().getAction(BuildData.class); } } if (data == null) { listener.getLogger().println("This project doesn't use Git as SCM. Can't pass the revision to downstream"); return null; } return new RevisionParameterAction(data.getLastBuiltRevision(), getCombineQueuedCommits()); }
public QueueTaskFuture<?> startJob(BitbucketCause cause) { Map<String, ParameterValue> values = this.getDefaultParameters(); if (getCancelOutdatedJobs()) { cancelPreviousJobsInQueueThatMatch(cause); abortRunningJobsThatMatch(cause); } ParameterizedJobMixIn scheduledJob = new ParameterizedJobMixIn() { @Override protected Job asJob() { return job; } }; return scheduledJob.scheduleBuild2( this.getInstance().getQuietPeriod(), new CauseAction(cause), new ParametersAction(new ArrayList<ParameterValue>(values.values())), new RevisionParameterAction(cause.getSourceCommitHash()) ); }
scmTriggerItem.scheduleBuild2(scmTriggerItem.getQuietPeriod(), new CauseAction(new CommitHookCause(sha1)), new RevisionParameterAction(sha1, matchedURL), new ParametersAction(allBuildParameters)); result.add(new ScheduledResponseContributor(project)); } else {