Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Allow override of code-review/verified value from job
Currently, it is NOT possible to have one Jenkins job setting only the Verified label to +1 or -1
and another Jenkins job setting only code-review label to +1 or -1 for the same patch-set in Gerrit.

This change will now allow:

- Setting a code-review or verified value to empty for the Server default value
- Setting a job specific value for a code-review or verified value
- Only the jobs that have overridden the value in their configuration will contribute to the code-review or verified value.

[JENKINS-30367] [JENKINS-30393]

Change-Id: I08d5b77fc55b49ae2d07a4eb97bbff80aa87b46b
  • Loading branch information
Scott Hebert committed Oct 26, 2015
1 parent d0541c8 commit 3a5273e
Show file tree
Hide file tree
Showing 22 changed files with 485 additions and 204 deletions.
Expand Up @@ -50,10 +50,6 @@
import java.util.List;
import java.util.concurrent.TimeUnit;





//CS IGNORE LineLength FOR NEXT 11 LINES. REASON: static import.
import static com.sonymobile.tools.gerrit.gerritevents.GerritDefaultValues.DEFAULT_BUILD_SCHEDULE_DELAY;
import static com.sonymobile.tools.gerrit.gerritevents.GerritDefaultValues.DEFAULT_DYNAMIC_CONFIG_REFRESH_INTERVAL;
Expand All @@ -77,30 +73,14 @@ public class Config implements IGerritHudsonTriggerConfig {
* Default verified vote to Gerrit when a build is started.
*/
public static final int DEFAULT_GERRIT_BUILD_STARTED_VERIFIED_VALUE = 0;
/**
* Default code review vote to Gerrit when a build is started.
*/
public static final int DEFAULT_GERRIT_BUILD_STARTED_CODE_REVIEW_VALUE = 0;
/**
* Default verified vote to Gerrit when a build is unstable.
*/
public static final int DEFAULT_GERRIT_BUILD_UNSTABLE_VERIFIED_VALUE = 0;
/**
* Default code review vote to Gerrit when a build is unstable.
*/
public static final int DEFAULT_GERRIT_BUILD_UNSTABLE_CODE_REVIEW_VALUE = -1;
/**
* Default verified vote to Gerrit when a build is failed.
*/
public static final int DEFAULT_GERRIT_BUILD_FAILURE_VERIFIED_VALUE = -1;
/**
* Default code review vote to Gerrit when a build is failed.
*/
public static final int DEFAULT_GERRIT_BUILD_FAILURE_CODE_REVIEW_VALUE = 0;
/**
* Default code review vote to Gerrit when a build is successful.
*/
public static final int DEFAULT_GERRIT_BUILD_SUCCESSFUL_CODE_REVIEW_VALUE = 0;
/**
* Default verified vote to Gerrit when a build is successful.
*/
Expand All @@ -109,11 +89,26 @@ public class Config implements IGerritHudsonTriggerConfig {
* Default verified vote to Gerrit when a build is not built.
*/
public static final int DEFAULT_GERRIT_BUILD_NOT_BUILT_VERIFIED_VALUE = 0;
/**
- * Default code review vote to Gerrit when a build is started.
*/
public static final int DEFAULT_GERRIT_BUILD_STARTED_CODE_REVIEW_VALUE = 0;
/**
* Default code review vote to Gerrit when a build is unstable.
*/
public static final int DEFAULT_GERRIT_BUILD_UNSTABLE_CODE_REVIEW_VALUE = -1;
/**
* Default code review vote to Gerrit when a build is failed.
*/
public static final int DEFAULT_GERRIT_BUILD_FAILURE_CODE_REVIEW_VALUE = 0;
/**
* Default code review vote to Gerrit when a build is successful.
*/
public static final int DEFAULT_GERRIT_BUILD_SUCCESSFUL_CODE_REVIEW_VALUE = 0;
/**
* Default code review vote to Gerrit when a build is not built.
*/
public static final int DEFAULT_GERRIT_BUILD_NOT_BUILT_CODE_REVIEW_VALUE = 0;

/**
* Default value indicating if the Gerrit server should be used to fetch project names.
*/
Expand Down Expand Up @@ -171,16 +166,16 @@ public class Config implements IGerritHudsonTriggerConfig {
private String gerritVerifiedCmdBuildStarted;
private String gerritVerifiedCmdBuildNotBuilt;
private String gerritFrontEndUrl;
private int gerritBuildStartedVerifiedValue;
private int gerritBuildStartedCodeReviewValue;
private int gerritBuildSuccessfulVerifiedValue;
private int gerritBuildSuccessfulCodeReviewValue;
private int gerritBuildFailedVerifiedValue;
private int gerritBuildFailedCodeReviewValue;
private int gerritBuildUnstableVerifiedValue;
private int gerritBuildUnstableCodeReviewValue;
private int gerritBuildNotBuiltVerifiedValue;
private int gerritBuildNotBuiltCodeReviewValue;
private Integer gerritBuildStartedVerifiedValue = null;
private Integer gerritBuildSuccessfulVerifiedValue = null;
private Integer gerritBuildFailedVerifiedValue = null;
private Integer gerritBuildUnstableVerifiedValue = null;
private Integer gerritBuildNotBuiltVerifiedValue = null;
private Integer gerritBuildStartedCodeReviewValue = null;
private Integer gerritBuildSuccessfulCodeReviewValue = null;
private Integer gerritBuildFailedCodeReviewValue = null;
private Integer gerritBuildUnstableCodeReviewValue = null;
private Integer gerritBuildNotBuiltCodeReviewValue = null;
private boolean enableManualTrigger;
private boolean enablePluginMessages;
@Deprecated
Expand Down Expand Up @@ -305,36 +300,31 @@ public void setValues(JSONObject formData) {
numberOfSendingWorkerThreads = DEFAULT_NR_OF_SENDING_WORKER_THREADS;
}

gerritBuildStartedVerifiedValue = formData.optInt(
"gerritBuildStartedVerifiedValue",
DEFAULT_GERRIT_BUILD_STARTED_VERIFIED_VALUE);
gerritBuildStartedCodeReviewValue = formData.optInt(
"gerritBuildStartedCodeReviewValue",
DEFAULT_GERRIT_BUILD_STARTED_CODE_REVIEW_VALUE);
gerritBuildSuccessfulVerifiedValue = formData.optInt(
"gerritBuildSuccessfulVerifiedValue",
DEFAULT_GERRIT_BUILD_SUCCESSFUL_VERIFIED_VALUE);
gerritBuildSuccessfulCodeReviewValue = formData.optInt(
"gerritBuildSuccessfulCodeReviewValue",
DEFAULT_GERRIT_BUILD_SUCCESSFUL_CODE_REVIEW_VALUE);
gerritBuildFailedVerifiedValue = formData.optInt(
"gerritBuildFailedVerifiedValue",
DEFAULT_GERRIT_BUILD_FAILURE_VERIFIED_VALUE);
gerritBuildFailedCodeReviewValue = formData.optInt(
"gerritBuildFailedCodeReviewValue",
DEFAULT_GERRIT_BUILD_FAILURE_CODE_REVIEW_VALUE);
gerritBuildUnstableVerifiedValue = formData.optInt(
"gerritBuildUnstableVerifiedValue",
DEFAULT_GERRIT_BUILD_UNSTABLE_VERIFIED_VALUE);
gerritBuildUnstableCodeReviewValue = formData.optInt(
"gerritBuildUnstableCodeReviewValue",
DEFAULT_GERRIT_BUILD_UNSTABLE_CODE_REVIEW_VALUE);
gerritBuildNotBuiltVerifiedValue = formData.optInt(
"gerritBuildNotBuiltVerifiedValue",
DEFAULT_GERRIT_BUILD_NOT_BUILT_VERIFIED_VALUE);
gerritBuildNotBuiltCodeReviewValue = formData.optInt(
"gerritBuildNotBuiltCodeReviewValue",
DEFAULT_GERRIT_BUILD_NOT_BUILT_CODE_REVIEW_VALUE);
if (formData.isEmpty()) {
gerritBuildStartedVerifiedValue = DEFAULT_GERRIT_BUILD_STARTED_VERIFIED_VALUE;
gerritBuildSuccessfulVerifiedValue = DEFAULT_GERRIT_BUILD_SUCCESSFUL_VERIFIED_VALUE;
gerritBuildFailedVerifiedValue = DEFAULT_GERRIT_BUILD_FAILURE_VERIFIED_VALUE;
gerritBuildUnstableVerifiedValue = DEFAULT_GERRIT_BUILD_UNSTABLE_VERIFIED_VALUE;
gerritBuildNotBuiltVerifiedValue = DEFAULT_GERRIT_BUILD_NOT_BUILT_VERIFIED_VALUE;
gerritBuildStartedCodeReviewValue = DEFAULT_GERRIT_BUILD_STARTED_CODE_REVIEW_VALUE;
gerritBuildSuccessfulCodeReviewValue = DEFAULT_GERRIT_BUILD_SUCCESSFUL_CODE_REVIEW_VALUE;
gerritBuildFailedCodeReviewValue = DEFAULT_GERRIT_BUILD_FAILURE_CODE_REVIEW_VALUE;
gerritBuildUnstableCodeReviewValue = DEFAULT_GERRIT_BUILD_UNSTABLE_CODE_REVIEW_VALUE;
gerritBuildNotBuiltCodeReviewValue = DEFAULT_GERRIT_BUILD_NOT_BUILT_CODE_REVIEW_VALUE;
} else {
gerritBuildStartedVerifiedValue = getValueFromFormData(formData, "gerritBuildStartedVerifiedValue");
gerritBuildSuccessfulVerifiedValue = getValueFromFormData(formData, "gerritBuildSuccessfulVerifiedValue");
gerritBuildFailedVerifiedValue = getValueFromFormData(formData, "gerritBuildFailedVerifiedValue");
gerritBuildUnstableVerifiedValue = getValueFromFormData(formData, "gerritBuildUnstableVerifiedValue");
gerritBuildNotBuiltVerifiedValue = getValueFromFormData(formData, "gerritBuildNotBuiltVerifiedValue");
gerritBuildStartedCodeReviewValue = getValueFromFormData(formData, "gerritBuildStartedCodeReviewValue");
gerritBuildSuccessfulCodeReviewValue = getValueFromFormData(formData,
"gerritBuildSuccessfulCodeReviewValue");
gerritBuildFailedCodeReviewValue = getValueFromFormData(formData, "gerritBuildFailedCodeReviewValue");
gerritBuildUnstableCodeReviewValue = getValueFromFormData(formData, "gerritBuildUnstableCodeReviewValue");
gerritBuildNotBuiltCodeReviewValue = getValueFromFormData(formData, "gerritBuildNotBuiltCodeReviewValue");
}


gerritVerifiedCmdBuildStarted = formData.optString(
"gerritVerifiedCmdBuildStarted",
Expand Down Expand Up @@ -414,6 +404,28 @@ public void setValues(JSONObject formData) {
replicationConfig = ReplicationConfig.createReplicationConfigFromJSON(formData);
}

/**
* Obtain value from a key in formdata.
* @param formData JSONObject.
* @param key key to extract value for.
* @return value.
*/
private Integer getValueFromFormData(JSONObject formData, String key) {
if (formData.has(key)) {
String testData = formData.optString(key);
if (testData == null || testData.equals("")) {
return null;
} else {
try {
return Integer.parseInt(testData);
} catch (NumberFormatException nfe) {
return null;
}
}
}
return null;
}

/**
* Adds the WatchTimeExceptionData from the form.
*
Expand Down Expand Up @@ -815,52 +827,52 @@ public void setGerritVerifiedCmdBuildNotBuilt(String cmd) {
}

@Override
public int getGerritBuildStartedVerifiedValue() {
public Integer getGerritBuildStartedVerifiedValue() {
return gerritBuildStartedVerifiedValue;
}

@Override
public int getGerritBuildStartedCodeReviewValue() {
public Integer getGerritBuildStartedCodeReviewValue() {
return gerritBuildStartedCodeReviewValue;
}

@Override
public int getGerritBuildSuccessfulVerifiedValue() {
public Integer getGerritBuildSuccessfulVerifiedValue() {
return gerritBuildSuccessfulVerifiedValue;
}

@Override
public int getGerritBuildSuccessfulCodeReviewValue() {
public Integer getGerritBuildSuccessfulCodeReviewValue() {
return gerritBuildSuccessfulCodeReviewValue;
}

@Override
public int getGerritBuildFailedVerifiedValue() {
public Integer getGerritBuildFailedVerifiedValue() {
return gerritBuildFailedVerifiedValue;
}

@Override
public int getGerritBuildFailedCodeReviewValue() {
public Integer getGerritBuildFailedCodeReviewValue() {
return gerritBuildFailedCodeReviewValue;
}

@Override
public int getGerritBuildUnstableVerifiedValue() {
public Integer getGerritBuildUnstableVerifiedValue() {
return gerritBuildUnstableVerifiedValue;
}

@Override
public int getGerritBuildUnstableCodeReviewValue() {
public Integer getGerritBuildUnstableCodeReviewValue() {
return gerritBuildUnstableCodeReviewValue;
}

@Override
public int getGerritBuildNotBuiltVerifiedValue() {
public Integer getGerritBuildNotBuiltVerifiedValue() {
return gerritBuildNotBuiltVerifiedValue;
}

@Override
public int getGerritBuildNotBuiltCodeReviewValue() {
public Integer getGerritBuildNotBuiltCodeReviewValue() {
return gerritBuildNotBuiltCodeReviewValue;
}

Expand Down
Expand Up @@ -95,61 +95,61 @@ public interface IGerritHudsonTriggerConfig extends GerritConnectionConfig2 {
* The default verified value for build started.
* @return the value.
*/
int getGerritBuildStartedVerifiedValue();
Integer getGerritBuildStartedVerifiedValue();

/**
* The default code review value for build started.
* @return the value.
*/
int getGerritBuildStartedCodeReviewValue();
Integer getGerritBuildStartedCodeReviewValue();

/**
* The default verified value for build successful.
* @return the falue.
*/
int getGerritBuildSuccessfulVerifiedValue();
Integer getGerritBuildSuccessfulVerifiedValue();

/**
* The default code review value for build successful.
* @return the value.
*/
int getGerritBuildSuccessfulCodeReviewValue();
Integer getGerritBuildSuccessfulCodeReviewValue();

/**
* The default verified value for build failed.
* @return the value.
*/
int getGerritBuildFailedVerifiedValue();
Integer getGerritBuildFailedVerifiedValue();

/**
* The default code review value for build failed.
* @return the value.
*/
int getGerritBuildFailedCodeReviewValue();
Integer getGerritBuildFailedCodeReviewValue();

/**
* The default verified value for build unstable.
* @return the value.
*/
int getGerritBuildUnstableVerifiedValue();
Integer getGerritBuildUnstableVerifiedValue();

/**
* The default code review value for build unstable.
* @return the value.
*/
int getGerritBuildUnstableCodeReviewValue();
Integer getGerritBuildUnstableCodeReviewValue();

/**
* The default verified value for build not built.
* @return the value.
*/
int getGerritBuildNotBuiltVerifiedValue();
Integer getGerritBuildNotBuiltVerifiedValue();

/**
* The default code review value for build not built.
* @return the value.
*/
int getGerritBuildNotBuiltCodeReviewValue();
Integer getGerritBuildNotBuiltCodeReviewValue();

/**
* Sets all config values from the provided JSONObject.
Expand Down

0 comments on commit 3a5273e

Please sign in to comment.