Search in sources :

Example 1 with Build

use of jetbrains.buildServer.Build in project teamcity-rest by JetBrains.

the class DownloadedArtifacts method getFilteredInfo.

@NotNull
private Map<SBuild, List<ArtifactInfo>> getFilteredInfo() {
    Map<SBuild, List<ArtifactInfo>> result = new HashMap<>();
    String buildLocatorText = myFields.getLocator();
    FilterConditionChecker<BuildPromotion> buildFilter;
    if (StringUtil.isNotEmpty(buildLocatorText)) {
        Locator buildLocator = Locator.locator(buildLocatorText);
        buildFilter = myBeanContext.getSingletonService(BuildPromotionFinder.class).getFilter(buildLocator);
        buildLocator.checkLocatorFullyProcessed();
    } else {
        buildFilter = b -> true;
    }
    for (Map.Entry<Build, List<ArtifactInfo>> buildArtifacts : myArtifacts.getArtifacts().entrySet()) {
        SBuild build = (SBuild) buildArtifacts.getKey();
        if (!buildFilter.isIncluded(build.getBuildPromotion())) {
            continue;
        }
        result.put(build, buildArtifacts.getValue());
    }
    return result;
}
Also used : SBuild(jetbrains.buildServer.serverSide.SBuild) BuildPromotion(jetbrains.buildServer.serverSide.BuildPromotion) Locator(jetbrains.buildServer.server.rest.data.Locator) HashMap(java.util.HashMap) Build(jetbrains.buildServer.Build) SBuild(jetbrains.buildServer.serverSide.SBuild) List(java.util.List) HashMap(java.util.HashMap) Map(java.util.Map) NotNull(org.jetbrains.annotations.NotNull)

Example 2 with Build

use of jetbrains.buildServer.Build in project spring-bot by finos.

the class SymphonyNotificator method sendNotification.

private void sendNotification(String project, String build, String statusText, String statusColor, Set<SUser> users, Build bt) {
    MessagesApi messages;
    String jsonString;
    String template;
    Config config = c.getConfig();
    try {
        String details = bt.getLogMessages(0, Integer.MAX_VALUE).stream().filter(m -> !m.contains("errorreport")).filter(m -> m.contains("error")).map(a -> HtmlUtils.htmlEscape(a)).reduce("", (a, b) -> a + "<br/>" + b);
        String url = sBuildServer.getRootUrl() + "/project.html?projectId=" + URIUtil.encodeQuery(bt.getProjectId());
        BuildData bd = new BuildData(project, build, statusText, statusColor, url, details);
        EntityJson json = new EntityJson();
        json.put("teamcity", bd);
        jsonString = c.getObjectMapper().writeValueAsString(json);
        log.warn("JSON: \n" + jsonString);
    } catch (Exception e1) {
        log.error("Couldn't format string ", e1);
        return;
    }
    try {
        messages = c.getAPI(MessagesApi.class);
    } catch (Exception e) {
        log.error("Couldn't aquire symphony API ", e);
        return;
    }
    if (StringUtils.hasText(config.getTemplate())) {
        template = config.getTemplate();
        log.warn("Using custom symphony template");
    } else {
        template = asString(rl.getResource("classpath:/template.ftl"));
        log.warn("Using built-in symphony template");
    }
    for (SUser sUser : users) {
        String streamId = sUser.getPropertyValue(symphonyStreamId);
        log.warn("Sending notification to Symphony on " + streamId);
        if (StringUtils.hasText(streamId)) {
            try {
                messages.v4StreamSidMessageCreatePost(null, streamId, template, jsonString, null, null, null, null);
            } catch (Exception e) {
                log.error("Couldn't send message to symphony ", e);
            }
        }
    }
}
Also used : HtmlUtils(org.springframework.web.util.HtmlUtils) ArrayList(java.util.ArrayList) MuteInfo(jetbrains.buildServer.serverSide.mute.MuteInfo) MessagesApi(com.symphony.api.agent.MessagesApi) URIUtil(org.apache.commons.httpclient.util.URIUtil) Logger(org.apache.log4j.Logger) Build(jetbrains.buildServer.Build) TestNameResponsibilityEntry(jetbrains.buildServer.responsibility.TestNameResponsibilityEntry) STest(jetbrains.buildServer.serverSide.STest) SBuildServer(jetbrains.buildServer.serverSide.SBuildServer) SBuildType(jetbrains.buildServer.serverSide.SBuildType) BuildProblemInfo(jetbrains.buildServer.serverSide.problems.BuildProblemInfo) Resource(org.springframework.core.io.Resource) SRunningBuild(jetbrains.buildServer.serverSide.SRunningBuild) ResourceLoader(org.springframework.core.io.ResourceLoader) NotificatorPropertyKey(jetbrains.buildServer.users.NotificatorPropertyKey) Collection(java.util.Collection) Set(java.util.Set) IOException(java.io.IOException) Reader(java.io.Reader) InputStreamReader(java.io.InputStreamReader) Notificator(jetbrains.buildServer.notification.Notificator) UncheckedIOException(java.io.UncheckedIOException) Nullable(org.jetbrains.annotations.Nullable) ResponsibilityEntry(jetbrains.buildServer.responsibility.ResponsibilityEntry) EntityJson(org.finos.symphony.toolkit.json.EntityJson) NotificatorRegistry(jetbrains.buildServer.notification.NotificatorRegistry) TestName(jetbrains.buildServer.tests.TestName) SProject(jetbrains.buildServer.serverSide.SProject) Charsets(org.apache.commons.compress.utils.Charsets) NotNull(org.jetbrains.annotations.NotNull) UserPropertyInfo(jetbrains.buildServer.serverSide.UserPropertyInfo) VcsRoot(jetbrains.buildServer.vcs.VcsRoot) PropertyKey(jetbrains.buildServer.users.PropertyKey) FileCopyUtils(org.springframework.util.FileCopyUtils) SUser(jetbrains.buildServer.users.SUser) StringUtils(org.springframework.util.StringUtils) MessagesApi(com.symphony.api.agent.MessagesApi) EntityJson(org.finos.symphony.toolkit.json.EntityJson) SUser(jetbrains.buildServer.users.SUser) IOException(java.io.IOException) UncheckedIOException(java.io.UncheckedIOException)

Aggregations

Build (jetbrains.buildServer.Build)2 NotNull (org.jetbrains.annotations.NotNull)2 MessagesApi (com.symphony.api.agent.MessagesApi)1 IOException (java.io.IOException)1 InputStreamReader (java.io.InputStreamReader)1 Reader (java.io.Reader)1 UncheckedIOException (java.io.UncheckedIOException)1 ArrayList (java.util.ArrayList)1 Collection (java.util.Collection)1 HashMap (java.util.HashMap)1 List (java.util.List)1 Map (java.util.Map)1 Set (java.util.Set)1 Notificator (jetbrains.buildServer.notification.Notificator)1 NotificatorRegistry (jetbrains.buildServer.notification.NotificatorRegistry)1 ResponsibilityEntry (jetbrains.buildServer.responsibility.ResponsibilityEntry)1 TestNameResponsibilityEntry (jetbrains.buildServer.responsibility.TestNameResponsibilityEntry)1 Locator (jetbrains.buildServer.server.rest.data.Locator)1 BuildPromotion (jetbrains.buildServer.serverSide.BuildPromotion)1 SBuild (jetbrains.buildServer.serverSide.SBuild)1