package ee.elinyo.teamcity.plugins.ansible.server;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import jetbrains.buildServer.serverSide.SBuild;
import jetbrains.buildServer.serverSide.SBuildServer;
import jetbrains.buildServer.web.openapi.PagePlaces;
import jetbrains.buildServer.web.openapi.PluginDescriptor;
import jetbrains.buildServer.web.openapi.ViewLogTab;
import org.jetbrains.annotations.NotNull;
import ee.elinyo.teamcity.plugins.ansible.common.AnsibleRunnerConstants;
public class AnsibleRunResultsTab extends ViewLogTab {
public AnsibleRunResultsTab(@NotNull PagePlaces pagePlaces, @NotNull SBuildServer server, @NotNull PluginDescriptor descriptor) {
super("", "", pagePlaces, server);
setTabTitle(getTitle());
setPluginName(getClass().getSimpleName());
setIncludeUrl(getJspPage(descriptor));
addCssFile(descriptor.getPluginResourcesPath("css/style.css"));
addJsFile(descriptor.getPluginResourcesPath("js/angular.min.js"));
addJsFile(descriptor.getPluginResourcesPath("js/angular-app.js"));
}
private String getTitle() {
return "Ansible Log";
}
private String getJspPage(PluginDescriptor descriptor) {
return descriptor.getPluginResourcesPath("resultsTab.jsp");
}
@Override
protected void fillModel(Map<String, Object> model,
HttpServletRequest request, SBuild build) {
// TODO Auto-generated method stub
}
protected boolean isAvailable(@NotNull final HttpServletRequest request, @NotNull final SBuild build) {
return build.getBuildType().getRunnerTypes().contains(AnsibleRunnerConstants.RUN_TYPE);
}
}