/
ConsulOperation.java
37 lines (29 loc) · 1.18 KB
/
ConsulOperation.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package com.inneractive.jenkins.plugins.consul;
import hudson.ExtensionPoint;
import hudson.Launcher;
import hudson.model.*;
import jenkins.model.Jenkins;
import net.sf.json.JSONObject;
import java.io.IOException;
import java.io.Serializable;
import java.util.logging.Logger;
public abstract class ConsulOperation implements ExtensionPoint, Describable<ConsulOperation>, Serializable{
private static Logger LOGGER = Logger.getLogger(ConsulOperation.class.getName());
protected JSONObject response = new JSONObject();
@Override
public Descriptor<ConsulOperation> getDescriptor() {
Jenkins jenkinsInstance = Jenkins.getInstance();
if (jenkinsInstance != null) {
return (ConsulOperationDescriptor) jenkinsInstance.getDescriptorOrDie(getClass());
} else {
LOGGER.warning("Couldn't get jenkins instance");
return null;
}
}
public abstract boolean perform(Run build, Launcher launcher, TaskListener listener) throws IOException, InterruptedException;
public abstract String getOperationName();
public abstract String getVariableName();
public JSONObject getResponse() {
return response;
}
}