private static String getBuildRevision(Run<?, ?> build) { GitLabWebHookCause cause = build.getCause(GitLabWebHookCause.class); if (cause != null) { return cause.getData().getLastCommit(); } BuildData action = build.getAction(BuildData.class); if (action == null) { throw new IllegalStateException("No (git-plugin) BuildData associated to current build"); } Revision lastBuiltRevision = action.getLastBuiltRevision(); if (lastBuiltRevision == null) { throw new IllegalStateException("Last build has no associated commit"); } return action.getLastBuild(lastBuiltRevision.getSha1()).getMarked().getSha1String(); }
@Override public String evaluate(AbstractBuild<?, ?> context, TaskListener listener, String macroName) throws MacroEvaluationException, IOException, InterruptedException { BuildData data = context.getAction(BuildData.class); if (data == null) { return ""; // shall we report an error more explicitly? } Revision lb = data.getLastBuiltRevision(); if (lb==null) return ""; String s = lb.getSha1String(); return s.substring(0,Math.min(length,s.length())); } }
public Map<String, URIish> getCommitRepoMap() throws Exception { List<RemoteConfig> repoList = this.gitScm.getRepositories(); if (repoList.size() != 1) { throw new Exception("None or multiple repos"); } HashMap<String, URIish> commitRepoMap = new HashMap<String, URIish>(); BuildData buildData = build.getAction(BuildData.class); if (buildData == null || buildData.getLastBuiltRevision() == null) { logger.warning("Build data could not be found"); } else { commitRepoMap.put(buildData.getLastBuiltRevision().getSha1String(), repoList.get(0).getURIs().get(0)); } return commitRepoMap; } }
@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()); }
public static List<Vcs> extractVcsBuildData(Run build) { List<Vcs> result = new ArrayList<Vcs>(); List<BuildData> buildData = build.getActions(BuildData.class); if (buildData != null) { for (BuildData data : buildData) { String sha1 = data.getLastBuiltRevision().getSha1String(); Iterator<String> iterator = data.getRemoteUrls().iterator(); if (iterator.hasNext()) { result.add(new Vcs(iterator.next(), sha1)); } } } return result; }
public void buildEnvVars(AbstractBuild<?, ?> build, java.util.Map<String, String> env) { super.buildEnvVars(build, env); String branch = getSingleBranch(build); if (branch != null) { env.put(GIT_BRANCH, branch); } BuildData bd = fixNull(getBuildData(build, false)); if (bd != null && bd.getLastBuiltRevision() != null) { String commit = bd.getLastBuiltRevision().getSha1String(); if (commit != null) { env.put(GIT_COMMIT, commit); } } }
@Override public String evaluate(AbstractBuild<?, ?> context, TaskListener listener, String macroName) throws MacroEvaluationException, IOException, InterruptedException { BuildData data = context.getAction(BuildData.class); if (data == null) { return ""; // shall we report an error more explicitly? } Revision lb = data.getLastBuiltRevision(); if (lb==null || lb.getBranches().isEmpty()) return ""; if (all) { StringBuilder buf = new StringBuilder(); for (Branch b : lb.getBranches()) { if (buf.length()>0) buf.append(','); buf.append(format(b)); } return buf.toString(); } else { return format(lb.getBranches().iterator().next()); } }
public void buildEnvVars(AbstractBuild<?, ?> build, Map<String, String> env) { super.buildEnvVars(build, env); GitUtils.buildBranchEnvVar(build, env, getRepositories(), getBranches()); BuildData bd = fixNull(getBuildData(build, false)); if (bd != null && bd.getLastBuiltRevision() != null) { String commit = bd.getLastBuiltRevision().getSha1String(); if (commit != null) { env.put(GIT_COMMIT, commit); } } }
Revision lastBuiltRevision = buildData.getLastBuiltRevision(); if (lastBuiltRevision == null) { continue;
@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()); }
if (!isPollCall && branchRevs.isEmpty() && buildData.getLastBuiltRevision() != null) { listener.getLogger().println(Messages.BuildChooser_BuildingLastRevision()); return Collections.singletonList(buildData.getLastBuiltRevision());
if (!isPollCall && revs.isEmpty() && data.getLastBuiltRevision() != null) { verbose(listener, "Nothing seems worth building, so falling back to the previously built revision: {0}", data.getLastBuiltRevision()); return Collections.singletonList(data.getLastBuiltRevision());
if (!isPollCall && revs.isEmpty() && data.getLastBuiltRevision() != null) { if (!utils.git.isCommitInRepo(data.getLastBuiltRevision().getSha1String())) { return revs; data.getLastBuiltRevision()); return Collections.singletonList(data.getLastBuiltRevision());
public void buildEnvironment(Run<?, ?> build, java.util.Map<String, String> env) { Revision rev = fixNull(getBuildData(build)).getLastBuiltRevision(); if (rev!=null) { Branch branch = Iterables.getFirst(rev.getBranches(), null);
Revision lastBuiltRevision = data.getLastBuiltRevision(); for (Iterator<Revision> i = revs.iterator(); i.hasNext();) { Revision r = i.next(); verbose(listener, "Nothing seems worth building, so falling back to the previously built revision: {0}", data.getLastBuiltRevision()); return Collections.singletonList(utils.sortBranchesForRevision(lastBuiltRevision, gitSCM.getBranches(), env));
if (data.getLastBuiltRevision() != null && !data.getLastBuiltRevision().getSha1String().equals(c.getCommit())) { build.getActions().remove(data); break;
BuildData parentBuildData = parentBuild.getAction(BuildData.class); if (parentBuildData != null) { tempParentLastBuiltRev = parentBuildData.getLastBuiltRevision();
BuildData parentBuildData = parentBuild.getAction(BuildData.class); if (parentBuildData != null) { tempParentLastBuiltRev = parentBuildData.getLastBuiltRevision();