下面列出了hudson.model.Cause.UpstreamCause#hudson.model.Cause.UserIdCause 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Return the current build user.
*
* @param causes build causes.
* @param envVars environment variables.
* @return user name.
*/
public static String prepareBuildUserName(List<Cause> causes, EnvVars envVars) {
String buildUser = "anonymous";
// For multi branch jobs, while PR building.
if (Util.fixEmpty(envVars.get("CHANGE_AUTHOR")) != null) {
return envVars.get("CHANGE_AUTHOR");
}
if (causes != null && causes.size() > 0) {
if (causes.get(0) instanceof UserIdCause) {
buildUser = ((UserIdCause) causes.get(0)).getUserName();
} else if (causes.get(0) instanceof UpstreamCause) {
List<Cause> upstreamCauses = ((UpstreamCause) causes.get(0)).getUpstreamCauses();
buildUser = prepareBuildUserName(upstreamCauses, envVars);
}
}
return buildUser;
}
/**
* Retrun the build cause.
*
* @return build cause.
*/
public static String prepareBuildCause(List<Cause> causes) {
String buildCause = null;
if (causes != null && causes.size() > 0) {
for (Cause cause : causes) {
if (cause instanceof UserIdCause) {
buildCause = ((UserIdCause) causes.get(0)).getUserName();
} else if (cause instanceof UpstreamCause) {
List<Cause> upstreamCauses = ((UpstreamCause) cause).getUpstreamCauses();
buildCause = prepareBuildCause(upstreamCauses);
} else {
buildCause = cause.getClass().getSimpleName();
}
}
}
return buildCause == null ? buildCause : buildCause.replace("Cause", "");
}
/**
* 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;
}
/**
* 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;
}
public DynamicBuildFactory manualStart(String userId, String branch) {
UserIdCause userIdCause = mock(UserIdCause.class);
when(userIdCause.getUserId()).thenReturn(userId);
when(build.getCause(UserIdCause.class)).thenReturn(userIdCause);
addBranchParam(branch);
return this;
}