@Override public void print(TaskListener listener) { User user = getUserId() == null ? null : User.getById(getUserId(), false); if (user != null) { listener.getLogger().println(Messages.Cause_UserIdCause_ShortDescription( ModelHyperlinkNote.encodeTo(user))); } else { listener.getLogger().println(Messages.Cause_UserIdCause_ShortDescription( "unknown or anonymous")); } }
/** * true if {@link AbstractBuild#hasParticipant} or {@link hudson.model.Cause.UserIdCause} */ private boolean relatedTo(@Nonnull AbstractBuild<?, ?> b) { if (b.hasParticipant(this)) { return true; } for (Cause cause : b.getCauses()) { if (cause instanceof Cause.UserIdCause) { String userId = ((Cause.UserIdCause) cause).getUserId(); if (userId != null && idStrategy().equals(userId, getId())) { return true; } } } return false; }
/** * Return the current build user Id. * * @param causes build causes. * @param envVars environment variables. * @return user name. */ public static String prepareBuildUserId(List<Cause> causes, EnvVars envVars) { String buildUserId = null; if (causes != null && causes.size() > 0) { if (causes.get(0) instanceof UserIdCause) { buildUserId = ((UserIdCause) causes.get(0)).getUserId(); } else if (causes.get(0) instanceof UpstreamCause) { List<Cause> upstreamCauses = ((UpstreamCause) causes.get(0)).getUpstreamCauses(); buildUserId = prepareBuildUserId(upstreamCauses, envVars); } } return buildUserId; }
final String idFromUserIdCause = userIdCause != null ? userIdCause.getUserId(): null; if (idFromUserIdCause != null) { return idFromUserIdCause;
/** * Identifies the {@link User} and {@link Run} that triggered the supplied {@link Run}. * * @param run the {@link Run} to find the trigger of. * @return the trigger of the supplied run or {@code null} if this could not be determined. */ @CheckForNull private static Map.Entry<User, Run<?, ?>> triggeredBy(Run<?, ?> run) { Cause.UserIdCause cause = run.getCause(Cause.UserIdCause.class); if (cause != null) { User u = User.get(cause.getUserId(), false, Collections.emptyMap()); return u == null ? null : new AbstractMap.SimpleImmutableEntry<User, Run<?, ?>>(u, run); } Cause.UpstreamCause c = run.getCause(Cause.UpstreamCause.class); run = (c != null) ? c.getUpstreamRun() : null; while (run != null) { cause = run.getCause(Cause.UserIdCause.class); if (cause != null) { User u = User.get(cause.getUserId(), false, Collections.emptyMap()); return u == null ? null : new AbstractMap.SimpleImmutableEntry<User, Run<?, ?>>(u, run); } c = run.getCause(Cause.UpstreamCause.class); run = (c != null) ? c.getUpstreamRun() : null; } return null; }
/** * Identifies the {@link User} and {@link Run} that triggered the supplied {@link Run}. * * @param run the {@link Run} to find the trigger of. * @return the trigger of the supplied run or {@code null} if this could not be determined. */ @CheckForNull private static Map.Entry<User, Run<?, ?>> triggeredBy(Run<?, ?> run) { Cause.UserIdCause cause = run.getCause(Cause.UserIdCause.class); if (cause != null) { User u = User.get(cause.getUserId(), false, Collections.emptyMap()); return u == null ? null : new AbstractMap.SimpleImmutableEntry<User, Run<?, ?>>(u, run); } Cause.UpstreamCause c = run.getCause(Cause.UpstreamCause.class); run = (c != null) ? c.getUpstreamRun() : null; while (run != null) { cause = run.getCause(Cause.UserIdCause.class); if (cause != null) { User u = User.get(cause.getUserId(), false, Collections.emptyMap()); return u == null ? null : new AbstractMap.SimpleImmutableEntry<User, Run<?, ?>>(u, run); } c = run.getCause(Cause.UpstreamCause.class); run = (c != null) ? c.getUpstreamRun() : null; } return null; }
/** * Return the current build user. * * @param causes build causes. * @return user name. */ protected static String prepareBuildUserId(List<Cause> causes) { String buildUser = "anonymous"; if (causes != null && causes.size() > 0) { if (causes.get(0) instanceof UserIdCause) { buildUser = ((UserIdCause) causes.get(0)).getUserId(); } else if (causes.get(0) instanceof UpstreamCause) { List<Cause> upstreamCauses = ((UpstreamCause) causes.get(0)).getUpstreamCauses(); buildUser = prepareBuildUserId(upstreamCauses); } } return Util.fixEmpty(buildUser) == null ? "anonymous" : buildUser; }
public CauseDTO(Cause cause) { this.shortDescription = cause.getShortDescription(); if (cause instanceof Cause.UserIdCause) { Cause.UserIdCause userIdCause = (Cause.UserIdCause) cause; this.userId = userIdCause.getUserId(); this.userName = userIdCause.getUserName(); } else if (cause instanceof Cause.RemoteCause) { Cause.RemoteCause remoteCause = (Cause.RemoteCause) cause; this.remoteAddr = remoteCause.getAddr(); this.remoteNote = remoteCause.getNote(); } else if (cause instanceof Cause.UpstreamCause) { Cause.UpstreamCause upstreamCause = (Cause.UpstreamCause) cause; this.upstreamProject = upstreamCause.getUpstreamProject(); this.upstreamUrl = upstreamCause.getUpstreamUrl(); } }
public CauseDTO(Cause cause) { this.shortDescription = cause.getShortDescription(); if (cause instanceof Cause.UserIdCause) { Cause.UserIdCause userIdCause = (Cause.UserIdCause) cause; this.userId = userIdCause.getUserId(); this.userName = userIdCause.getUserName(); } else if (cause instanceof Cause.RemoteCause) { Cause.RemoteCause remoteCause = (Cause.RemoteCause) cause; this.remoteAddr = remoteCause.getAddr(); this.remoteNote = remoteCause.getNote(); } else if (cause instanceof Cause.UpstreamCause) { Cause.UpstreamCause upstreamCause = (Cause.UpstreamCause) cause; this.upstreamProject = upstreamCause.getUpstreamProject(); this.upstreamUrl = upstreamCause.getUpstreamUrl(); } }
/** true if {@link AbstractBuild#hasParticipant} or {@link hudson.model.Cause.UserIdCause} */ private boolean relatedTo(@Nonnull AbstractBuild<?,?> b) { if (b.hasParticipant(this)) { return true; } for (Cause cause : b.getCauses()) { if (cause instanceof Cause.UserIdCause) { String userId = ((Cause.UserIdCause) cause).getUserId(); if (userId != null && idStrategy().equals(userId, getId())) { return true; } } } return false; }
/** * @param build The build * @param defaultPrincipal Principal to return if the user who caused the id is not found * @return The user id caused triggered the build of default principal if not found */ public static String getUserCausePrincipal(Run build, String defaultPrincipal) { Cause.UserIdCause userCause = getUserCause(build); String principal = defaultPrincipal; if (userCause != null && userCause.getUserId() != null) { principal = userCause.getUserId(); } return principal; }
private void addBuildCauseForNonGithubCauses(final BuildListener listener) throws IOException, InterruptedException { final String branch = this.build.getEnvironment(listener).get("BRANCH"); final GitBranch gitBranch = new GitBranch(branch); if (this.build.getCause(UserIdCause.class) != null) { final GHCommit commit = this.githubRepositoryService.getHeadCommitForBranch(branch); final String user = this.build.getCause(UserIdCause.class).getUserId(); final ManualBuildCause manualCause = new ManualBuildCause(gitBranch, commit, getParentSha(commit, gitBranch), user); this.build.addCause(manualCause); } if (this.build.getCause() == BuildCause.NULL_BUILD_CAUSE) { final GHCommit commit = this.githubRepositoryService.getHeadCommitForBranch(branch); this.build.addCause(new UnknownBuildCause(gitBranch, commit, getParentSha(commit, gitBranch))); } }
private static User getByUserIdCause(Run<?, ?> run) { try { Cause.UserIdCause cause = run.getCause(Cause.UserIdCause.class); if (cause != null) { String id = cause.getUserId(); return User.get(id, false, null); } } catch (Exception e) { LOGGER.info(e.getMessage()); } return null; }
@Override public void print(TaskListener listener) { listener.getLogger().println(Messages.Cause_UserIdCause_ShortDescription( // TODO better to use ModelHyperlinkNote.encodeTo(User), or User.getUrl, since it handles URL escaping ModelHyperlinkNote.encodeTo("/user/"+getUserId(), getUserName()))); }