package hudson.plugins.emailext.plugins.trigger;
import hudson.model.AbstractBuild;
import hudson.model.Result;
import hudson.plugins.emailext.plugins.EmailTrigger;
import hudson.plugins.emailext.plugins.EmailTriggerDescriptor;
public class StillUnstableTrigger extends EmailTrigger {
public static final String TRIGGER_NAME = "Still Unstable";
@Override
public boolean trigger(AbstractBuild<?,?> build) {
Result buildResult = build.getResult();
if(buildResult == Result.UNSTABLE) {
AbstractBuild<?,?> prevBuild = build.getPreviousBuild();
if (prevBuild != null && (prevBuild.getResult() == Result.UNSTABLE)) {
return true;
}
}
return false;
}
@Override
public EmailTriggerDescriptor getDescriptor() {
return DESCRIPTOR;
}
public static DescriptorImpl DESCRIPTOR = new DescriptorImpl();
public static final class DescriptorImpl extends EmailTriggerDescriptor {
public DescriptorImpl() {
addTriggerNameToReplace(UnstableTrigger.TRIGGER_NAME);
}
@Override
public String getTriggerName() {
return TRIGGER_NAME;
}
@Override
public EmailTrigger newInstance() {
return new StillUnstableTrigger();
}
@Override
public String getHelpText() {
return "An email will be sent if the build status is \"Unstable\" " +
"for two or more builds in a row.";
}
}
@Override
public boolean getDefaultSendToDevs() {
return true;
}
@Override
public boolean getDefaultSendToList() {
return false;
}
}