package slacknotifications; import org.apache.http.NameValuePair; import org.apache.http.auth.Credentials; import slacknotifications.teamcity.BuildState; import slacknotifications.teamcity.payload.content.PostMessageResponse; import slacknotifications.teamcity.payload.content.SlackNotificationPayloadContent; import java.io.FileNotFoundException; import java.io.IOException; import java.util.List; public interface SlackNotification { public abstract void setProxy(SlackNotificationProxyConfig proxyConfig); public abstract void setProxy(String proxyHost, Integer proxyPort, Credentials credentials); public abstract void post() throws FileNotFoundException, IOException; public abstract Integer getStatus(); public abstract String getProxyHost(); public abstract int getProxyPort(); public abstract String getChannel(); public abstract void setChannel(String channel); public abstract String getTeamName(); public abstract void setTeamName(String teamName); public abstract String getToken(); public abstract void setToken(String token); public abstract String getBotName(); public abstract void setBotName(String botName); public abstract String getIconUrl(); public abstract void setIconUrl(String iconUrl); public abstract String getParameterisedUrl(); public abstract String parametersAsQueryString(); public abstract void addParam(String key, String value); public abstract void addParams(List<NameValuePair> paramsList); public abstract String getParam(String key); public abstract void setFilename(String filename); public abstract String getFilename(); public abstract String getContent(); public abstract Boolean isEnabled(); public abstract void setEnabled(Boolean enabled); public abstract void setEnabled(String enabled); public abstract Boolean isErrored(); public abstract void setErrored(Boolean errored); public abstract String getErrorReason(); public abstract void setErrorReason(String errorReason); public abstract BuildState getBuildStates(); public abstract void setBuildStates(BuildState states); //public abstract Integer getEventListBitMask(); //public abstract void setTriggerStateBitMask(Integer triggerStateBitMask); public abstract String getProxyUsername(); public abstract void setProxyUsername(String proxyUsername); public abstract String getProxyPassword(); public abstract void setProxyPassword(String proxyPassword); public abstract SlackNotificationPayloadContent getPayload(); public abstract void setPayload(SlackNotificationPayloadContent payloadContent); public abstract PostMessageResponse getResponse(); public abstract void setShowBuildAgent(Boolean showBuildAgent); public abstract void setShowElapsedBuildTime(Boolean showElapsedBuildTime); public abstract void setShowCommits(boolean showCommits); public abstract void setShowCommitters(boolean showCommitters); public abstract void setMaxCommitsToDisplay(int maxCommitsToDisplay); public abstract void setMentionChannelEnabled(boolean mentionChannelEnabled); public abstract void setMentionSlackUserEnabled(boolean mentionSlackUserEnabled); public abstract void setShowFailureReason(boolean showFailureReason); }