This is an automated email from the ASF dual-hosted git repository. dpavlov pushed a commit to branch ignite-10930 in repository https://gitbox.apache.org/repos/asf/ignite-teamcity-bot.git
The following commit(s) were added to refs/heads/ignite-10930 by this push: new 61d1ed0 IGNITE-10930: PR-less contributions: refactoring to use Ignited service 61d1ed0 is described below commit 61d1ed0b0e3aa733cf150acef992d88c6b6887ec Author: Dmitriy Pavlov <dpav...@apache.org> AuthorDate: Tue Jan 15 13:24:41 2019 +0300 IGNITE-10930: PR-less contributions: refactoring to use Ignited service --- .../ignite/ci/jira/ignited/IJiraIgnited.java | 10 +++++++ .../apache/ignite/ci/jira/ignited/JiraIgnited.java | 7 +++++ .../ignite/ci/jira/pure/IJiraIntegration.java | 1 - .../apache/ignite/ci/observer/ObserverTask.java | 5 ---- .../tcbot/visa/TcBotTriggerAndSignOffService.java | 9 +++--- .../ci/teamcity/ignited/TeamcityIgnitedImpl.java | 35 ++++++++++++---------- 6 files changed, 42 insertions(+), 25 deletions(-) diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/IJiraIgnited.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/IJiraIgnited.java index 17b80a8..420c9bc 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/IJiraIgnited.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/IJiraIgnited.java @@ -16,6 +16,7 @@ */ package org.apache.ignite.ci.jira.ignited; +import java.io.IOException; import java.util.Set; import org.apache.ignite.ci.jira.Ticket; import org.jetbrains.annotations.NotNull; @@ -46,4 +47,13 @@ public interface IJiraIgnited { */ String generateTicketUrl(String id); + + /** + * @param ticket JIRA ticket full name. E.g 'IGNITE-5555'. + * @param comment Comment to be placed in the ticket conversation. + * @return {@code True} if ticket was succesfully commented. Otherwise - {@code false}. + * @throws IOException If failed to comment JIRA ticket. + * @throws IllegalStateException If can't find URL to the JIRA. + */ + public String postJiraComment(String ticket, String comment) throws IOException; } diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraIgnited.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraIgnited.java index a1bb0b1..2e45501 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraIgnited.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraIgnited.java @@ -17,6 +17,7 @@ package org.apache.ignite.ci.jira.ignited; import com.google.common.collect.Sets; +import java.io.IOException; import java.util.Collection; import java.util.Set; import javax.inject.Inject; @@ -64,6 +65,7 @@ class JiraIgnited implements IJiraIgnited { return jira.projectName(); } + /** {@inheritDoc} */ @Override public Set<Ticket> getTickets() { jiraTicketSync.ensureActualizeJiraTickets(taskName("actualizeJiraTickets"), srvId); @@ -88,4 +90,9 @@ class JiraIgnited implements IJiraIgnited { @Override public String generateTicketUrl(String id) { return jira.generateTicketUrl(id); } + + /** {@inheritDoc} */ + @Override public String postJiraComment(String ticket, String comment) throws IOException { + return jira.postJiraComment(ticket, comment); + } } diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/IJiraIntegration.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/IJiraIntegration.java index 95ab3ca..6ff8fea 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/IJiraIntegration.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/IJiraIntegration.java @@ -46,7 +46,6 @@ public interface IJiraIntegration { */ public String getServiceId(); - /** * @param ticket JIRA ticket full name. E.g 'IGNITE-5555'. * @param comment Comment to be placed in the ticket conversation. diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/ObserverTask.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/ObserverTask.java index 5dd7091..24b32d5 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/ObserverTask.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/ObserverTask.java @@ -63,9 +63,6 @@ public class ObserverTask extends TimerTask { @Inject private ITeamcityIgnitedProvider teamcityIgnitedProvider; /** */ - @Inject private IJiraIntegrationProvider jiraIntegrationProvider; - - /** */ @Inject private VisasHistoryStorage visasHistStorage; @Inject private TcBotTriggerAndSignOffService visaIssuer; @@ -195,8 +192,6 @@ public class ObserverTask extends TimerTask { if (!visa.isSuccess()) { ICredentialsProv creds = tcHelper.getServerAuthorizerCreds(); - IJiraIntegration jiraIntegration = jiraIntegrationProvider.server(info.srvId); - Visa updatedVisa = visaIssuer.notifyJira(info.srvId, creds, info.buildTypeId, info.branchForTc, info.ticket); diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/TcBotTriggerAndSignOffService.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/TcBotTriggerAndSignOffService.java index ea4461f..1e39a26 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/TcBotTriggerAndSignOffService.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/TcBotTriggerAndSignOffService.java @@ -86,6 +86,7 @@ import static org.apache.ignite.ci.util.XmlUtil.xmlEscapeText; import static org.apache.ignite.ci.web.rest.parms.FullQueryParams.DEFAULT_TRACKED_BRANCH_NAME; /** + * TC Bot Visa Facade. * Provides method for TC Bot Visa obtaining. * Contains features for adding comment to the ticket based on latest state. * @@ -144,7 +145,7 @@ public class TcBotTriggerAndSignOffService { ITeamcityIgnited ignited = tcIgnitedProv.server(srvId, prov); - IJiraIntegration jiraIntegration = jiraPureProvider.server(srvId); + IJiraIgnited jiraIntegration = jiraIgnProv.server(srvId); for (VisaRequest visaRequest : visasHistStorage.getVisas()) { VisaStatus visaStatus = new VisaStatus(); @@ -304,7 +305,7 @@ public class TcBotTriggerAndSignOffService { String parentSuiteId, Build... builds ) { - IJiraIntegration jiraIntegration = jiraPureProvider.server(srvId); + IJiraIgnited jiraIntegration = jiraIgnProv.server(srvId); String prefix = jiraIntegration.ticketPrefix(); @@ -358,7 +359,7 @@ public class TcBotTriggerAndSignOffService { ICredentialsProv prov) { String jiraRes = ""; - IJiraIntegration jiraIntegration = jiraPureProvider.server(srvId); + IJiraIgnited jiraIntegration = jiraIgnProv.server(srvId); String prefix = jiraIntegration.ticketPrefix(); @@ -661,7 +662,7 @@ public class TcBotTriggerAndSignOffService { ) { ITeamcityIgnited tcIgnited = tcIgnitedProv.server(srvId, prov); - IJiraIntegration jira = jiraPureProvider.server(srvId); + IJiraIgnited jira = jiraIgnProv.server(srvId); List<Integer> builds = tcIgnited.getLastNBuildsFromHistory(buildTypeId, branchForTc, 1); diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedImpl.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedImpl.java index f857aae..676a1a6 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedImpl.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedImpl.java @@ -19,7 +19,22 @@ package org.apache.ignite.ci.teamcity.ignited; import com.google.common.collect.Lists; import com.google.common.collect.Sets; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.OptionalInt; +import java.util.Set; +import java.util.SortedSet; +import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.stream.Collectors; +import javax.annotation.Nullable; +import javax.inject.Inject; import org.apache.ignite.ci.ITeamcity; import org.apache.ignite.ci.analysis.SuiteInBranch; import org.apache.ignite.ci.analysis.TestInBranch; @@ -27,45 +42,35 @@ import org.apache.ignite.ci.di.AutoProfiling; import org.apache.ignite.ci.di.MonitoredTask; import org.apache.ignite.ci.di.cache.GuavaCached; import org.apache.ignite.ci.di.scheduler.IScheduler; -import org.apache.ignite.ci.jira.ignited.JiraTicketDao; -import org.apache.ignite.ci.jira.ignited.JiraTicketSync; -import org.apache.ignite.ci.jira.Ticket; import org.apache.ignite.ci.tcbot.trends.MasterTrendsService; import org.apache.ignite.ci.tcmodel.conf.Project; import org.apache.ignite.ci.tcmodel.mute.MuteInfo; -import org.apache.ignite.ci.teamcity.ignited.mute.MuteDao; -import org.apache.ignite.ci.teamcity.ignited.mute.MuteSync; +import org.apache.ignite.ci.tcmodel.result.Build; import org.apache.ignite.ci.teamcity.ignited.buildcondition.BuildCondition; import org.apache.ignite.ci.teamcity.ignited.buildcondition.BuildConditionDao; -import org.apache.ignite.ci.tcmodel.result.Build; import org.apache.ignite.ci.teamcity.ignited.buildref.BuildRefDao; import org.apache.ignite.ci.teamcity.ignited.buildref.BuildRefSync; +import org.apache.ignite.ci.teamcity.ignited.buildtype.BuildTypeCompacted; +import org.apache.ignite.ci.teamcity.ignited.buildtype.BuildTypeDao; import org.apache.ignite.ci.teamcity.ignited.buildtype.BuildTypeRefCompacted; import org.apache.ignite.ci.teamcity.ignited.buildtype.BuildTypeRefDao; import org.apache.ignite.ci.teamcity.ignited.buildtype.BuildTypeSync; -import org.apache.ignite.ci.teamcity.ignited.buildtype.BuildTypeCompacted; -import org.apache.ignite.ci.teamcity.ignited.buildtype.BuildTypeDao; import org.apache.ignite.ci.teamcity.ignited.change.ChangeCompacted; import org.apache.ignite.ci.teamcity.ignited.change.ChangeDao; import org.apache.ignite.ci.teamcity.ignited.change.ChangeSync; import org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildCompacted; import org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildDao; import org.apache.ignite.ci.teamcity.ignited.fatbuild.ProactiveFatBuildSync; +import org.apache.ignite.ci.teamcity.ignited.mute.MuteDao; +import org.apache.ignite.ci.teamcity.ignited.mute.MuteSync; import org.apache.ignite.ci.teamcity.ignited.runhist.RunHistCompactedDao; import org.apache.ignite.ci.teamcity.ignited.runhist.RunHistSync; import org.apache.ignite.ci.teamcity.pure.ITeamcityConn; import org.apache.ignite.ci.user.ICredentialsProv; -import org.apache.ignite.internal.util.typedef.F; import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.annotation.Nullable; -import javax.inject.Inject; -import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; - import static org.apache.ignite.ci.tcmodel.hist.BuildRef.STATUS_UNKNOWN; /**