You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dp...@apache.org on 2019/01/28 15:15:30 UTC

[ignite-teamcity-bot] branch ignite-11105-alias updated: IGNITE-11105 Support Teamcity servers aliases: Aliased service: removing branch prefix from TC inferface

This is an automated email from the ASF dual-hosted git repository.

dpavlov pushed a commit to branch ignite-11105-alias
in repository https://gitbox.apache.org/repos/asf/ignite-teamcity-bot.git


The following commit(s) were added to refs/heads/ignite-11105-alias by this push:
     new ab2e51c  IGNITE-11105 Support Teamcity servers aliases: Aliased service: removing branch prefix from TC inferface
ab2e51c is described below

commit ab2e51ca35a48c31ba7a0164a6c56984663a55d4
Author: Dmitriy Pavlov <dp...@apache.org>
AuthorDate: Mon Jan 28 18:15:26 2019 +0300

    IGNITE-11105 Support Teamcity servers aliases: Aliased service: removing branch prefix from TC inferface
---
 .../apache/ignite/ci/IgnitePersistentTeamcity.java |  5 ---
 .../apache/ignite/ci/IgniteTeamcityConnection.java | 12 +------
 .../ci/github/ignited/GitHubConnIgnitedImpl.java   |  5 +++
 .../ci/github/ignited/IGitHubConnIgnited.java      |  7 +++-
 .../ci/github/pure/GitHubConnectionImpl.java       | 12 +++++++
 .../ignite/ci/github/pure/IGitHubConnection.java   |  5 +++
 .../tcbot/visa/TcBotTriggerAndSignOffService.java  | 34 +++++++++---------
 .../ci/teamcity/ignited/ITeamcityIgnited.java      |  2 --
 .../ci/teamcity/ignited/TeamcityIgnitedImpl.java   |  5 ---
 .../ignite/ci/teamcity/pure/ITeamcityConn.java     | 40 +++++++++++++++-------
 .../model/current/ChainAtServerCurrentStatus.java  |  2 +-
 .../ci/teamcity/ignited/TeamcityIgnitedMock.java   |  2 +-
 12 files changed, 75 insertions(+), 56 deletions(-)

diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java
index 31b70c5..b40f24a 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java
@@ -229,11 +229,6 @@ public class IgnitePersistentTeamcity implements IAnalyticsEnabledTeamcity, ITea
         return teamcity.getProjects();
     }
 
-    /** {@inheritDoc} */
-    @Override public String gitBranchPrefix() {
-        return teamcity.gitBranchPrefix();
-    }
-
     @Override public Statistics getStatistics(int buildId) {
         return teamcity.getStatistics(buildId);
     }
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgniteTeamcityConnection.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgniteTeamcityConnection.java
index 5f66eef..b0ebdc1 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgniteTeamcityConnection.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgniteTeamcityConnection.java
@@ -108,9 +108,7 @@ public class IgniteTeamcityConnection implements ITeamcity {
     /** Build logger processing running. */
     private ConcurrentHashMap<Integer, CompletableFuture<LogCheckTask>> buildLogProcessingRunning = new ConcurrentHashMap<>();
 
-    /** Git branch prefix for seach TC runs in PR-less contributions. */
-    @NotNull
-    private String gitBranchPrefix;
+
 
     public Executor getExecutor() {
         return executor;
@@ -135,9 +133,6 @@ public class IgniteTeamcityConnection implements ITeamcity {
             e.printStackTrace();
             logger.error("Failed to set credentials", e);
         }
-
-        this.gitBranchPrefix = props.getProperty(HelperConfig.GIT_BRANCH_PREFIX, "ignite-");
-
         final File workDir = HelperConfig.resolveWorkDir();
         final File logsDirFile = HelperConfig.resolveLogs(workDir, props);
 
@@ -327,11 +322,6 @@ public class IgniteTeamcityConnection implements ITeamcity {
     }
 
     /** {@inheritDoc} */
-    @Override public String gitBranchPrefix() {
-        return gitBranchPrefix;
-    }
-
-    /** {@inheritDoc} */
     @Override public List<BuildType> getBuildTypes(String projectId) {
         return sendGetXmlParseJaxb(host + "app/rest/latest/projects/" + projectId, Project.class)
             .getBuildTypesNonNull();
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/ignited/GitHubConnIgnitedImpl.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/ignited/GitHubConnIgnitedImpl.java
index dcbf1f4..a6b54d1 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/ignited/GitHubConnIgnitedImpl.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/ignited/GitHubConnIgnitedImpl.java
@@ -30,6 +30,7 @@ import javax.inject.Inject;
 import javax.inject.Provider;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.IgniteCache;
+import org.apache.ignite.ci.HelperConfig;
 import org.apache.ignite.ci.db.TcHelperDb;
 import org.apache.ignite.ci.di.AutoProfiling;
 import org.apache.ignite.ci.di.MonitoredTask;
@@ -84,6 +85,10 @@ class GitHubConnIgnitedImpl implements IGitHubConnIgnited {
         conn.notifyGit(url, body);
     }
 
+    @Override public String gitBranchPrefix() {
+        return conn.gitBranchPrefix();
+    }
+
     /** {@inheritDoc} */
     @AutoProfiling
     @Override public List<PullRequest> getPullRequests() {
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/ignited/IGitHubConnIgnited.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/ignited/IGitHubConnIgnited.java
index c61619b..dc1bf7b 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/ignited/IGitHubConnIgnited.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/ignited/IGitHubConnIgnited.java
@@ -42,5 +42,10 @@ public interface IGitHubConnIgnited {
      * @param body Request body.
      * @return {@code True} - if GitHub was notified. {@code False} - otherwise.
      */
-    void notifyGit(String url, String body);
+    public void notifyGit(String url, String body);
+
+    /**
+     *
+     */
+    public String gitBranchPrefix();
 }
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/pure/GitHubConnectionImpl.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/pure/GitHubConnectionImpl.java
index f3f177c..17ee24a 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/pure/GitHubConnectionImpl.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/pure/GitHubConnectionImpl.java
@@ -35,6 +35,7 @@ import org.apache.ignite.ci.HelperConfig;
 import org.apache.ignite.ci.di.AutoProfiling;
 import org.apache.ignite.ci.github.PullRequest;
 import org.apache.ignite.ci.util.HttpUtil;
+import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -51,6 +52,10 @@ class GitHubConnectionImpl implements IGitHubConnection {
     /** GitHub authorization token. */
     private String gitAuthTok;
 
+    /** Git branch prefix for seach TC runs in PR-less contributions. */
+    @NotNull
+    private String gitBranchPrefix;
+
     @Nullable public static String parseNextLinkFromLinkRspHeader(String s) {
         String nextLink = null;
         StringTokenizer tokenizer = new StringTokenizer(s, ",");
@@ -90,6 +95,8 @@ class GitHubConnectionImpl implements IGitHubConnection {
 
         gitAuthTok = (HelperConfig.prepareGithubHttpAuthToken(props));
         gitApiUrl = (props.getProperty(HelperConfig.GIT_API_URL));
+        gitBranchPrefix = props.getProperty(HelperConfig.GIT_BRANCH_PREFIX, "ignite-");
+
     }
 
     /** {@inheritDoc} */
@@ -171,4 +178,9 @@ class GitHubConnectionImpl implements IGitHubConnection {
             throw new UncheckedIOException(e);
         }
     }
+
+    /** {@inheritDoc} */
+    @Override public String gitBranchPrefix() {
+        return gitBranchPrefix;
+    }
 }
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/pure/IGitHubConnection.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/pure/IGitHubConnection.java
index b2ab22a..7c5ab23 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/pure/IGitHubConnection.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/pure/IGitHubConnection.java
@@ -80,4 +80,9 @@ public interface IGitHubConnection {
             return res;
         }
     }
+
+    /**
+     *
+     */
+    public String gitBranchPrefix();
 }
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 79a068f..c0198cc 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
@@ -35,7 +35,6 @@ import java.util.stream.Stream;
 import javax.annotation.Nonnull;
 import javax.inject.Inject;
 import javax.ws.rs.QueryParam;
-import org.apache.ignite.ci.HelperConfig;
 import org.apache.ignite.ci.ITeamcity;
 import org.apache.ignite.ci.github.GitHubBranch;
 import org.apache.ignite.ci.github.GitHubUser;
@@ -312,7 +311,7 @@ public class TcBotTriggerAndSignOffService {
 
         if (F.isEmpty(ticketFullName)) {
             try {
-                ticketFullName = prLessTicket(srvId, branchForTc, prov, prefix);
+                ticketFullName = prLessTicket(srvId, branchForTc, prefix);
 
                 PullRequest pr = null;
 
@@ -370,7 +369,7 @@ public class TcBotTriggerAndSignOffService {
 
         if (Strings.isNullOrEmpty(ticketFullName)) {
             try {
-                ticketFullName = prLessTicket(srvId, branchForTc, prov, prefix);
+                ticketFullName = prLessTicket(srvId, branchForTc, prefix);
 
                 PullRequest pr = null;
 
@@ -434,21 +433,20 @@ public class TcBotTriggerAndSignOffService {
     /**
      * @param srvId Server id.
      * @param branchForTc Branch for tc.
-     * @param prov Credentials Prov.
      * @param ticketPrefix Ticket prefix.
      */
     @Nullable public String prLessTicket(@Nullable @QueryParam("serverId") String srvId,
-        String branchForTc, ICredentialsProv prov, String ticketPrefix) {
-        return prLessTicket(branchForTc, ticketPrefix, tcIgnitedProv.server(srvId, prov));
+        String branchForTc, String ticketPrefix) {
+        return prLessTicket(branchForTc, ticketPrefix, gitHubConnIgnitedProvider.server(srvId));
     }
 
     /**
      * @param branchForTc Branch for tc.
      * @param ticketPrefix Ticket prefix.
-     * @param tcIgn Tc ign.
+     * @param gitHubIgn GitHub connection ign.
      */
-    @Nullable public static String prLessTicket(String branchForTc, String ticketPrefix, ITeamcityIgnited tcIgn) {
-        String branchPrefix = tcIgn.gitBranchPrefix();
+    @Nullable public static String prLessTicket(String branchForTc, String ticketPrefix, IGitHubConnIgnited gitHubIgn) {
+        String branchPrefix = gitHubIgn.gitBranchPrefix();
 
         if (!branchForTc.startsWith(branchPrefix))
             return null;
@@ -471,7 +469,8 @@ public class TcBotTriggerAndSignOffService {
         ICredentialsProv credsProv) {
         IJiraIgnited jiraIntegration = jiraIgnProv.server(srvId);
 
-        List<PullRequest> requests = gitHubConnIgnitedProvider.server(srvId).getPullRequests();
+        IGitHubConnIgnited gitHubConnIgnited = gitHubConnIgnitedProvider.server(srvId);
+        List<PullRequest> requests = gitHubConnIgnited.getPullRequests();
         if (requests == null)
             return null;
 
@@ -511,7 +510,7 @@ public class TcBotTriggerAndSignOffService {
 
         paTickets.forEach(ticket -> {
             int ticketId = ticket.igniteId(jiraIntegration.ticketPrefix());
-            String branch = tcIgn.gitBranchPrefix() + ticketId;
+            String branch = gitHubConnIgnited.gitBranchPrefix() + ticketId;
 
             String defBtForMaster = findDefaultBranchBuildType(srvId);
 
@@ -541,7 +540,7 @@ public class TcBotTriggerAndSignOffService {
     @Nonnull private List<BuildRefCompacted> findBuildsForPr(String suiteId, String prId,
         IGitHubConnIgnited ghConn, ITeamcityIgnited srv) {
 
-        List<BuildRefCompacted> buildHist = srv.getAllBuildsCompacted(suiteId, branchForTcDefault(prId, srv));
+        List<BuildRefCompacted> buildHist = srv.getAllBuildsCompacted(suiteId, branchForTcDefault(prId, ghConn));
 
         if (!buildHist.isEmpty())
             return buildHist;
@@ -573,7 +572,7 @@ public class TcBotTriggerAndSignOffService {
         return Collections.emptyList();
     }
 
-    private String branchForTcDefault(String prId, ITeamcityIgnited srv) {
+    private String branchForTcDefault(String prId, IGitHubConnIgnited srv) {
         Integer prNum = Integer.valueOf(prId);
         if (prNum < 0)
             return srv.gitBranchPrefix() + (-prNum); // Checking "ignite-10930" builds only
@@ -632,8 +631,8 @@ public class TcBotTriggerAndSignOffService {
             List<BuildRefCompacted> compBuilds = findBuildsForPr(btId, prId, ghConn, teamcity);
 
             statuses.add(compBuilds.isEmpty()
-                ? new ContributionCheckStatus(btId, branchForTcDefault(prId, teamcity))
-                : contributionStatus(srvId, btId, compBuilds, teamcity, prId));
+                ? new ContributionCheckStatus(btId, branchForTcDefault(prId, ghConn))
+                : contributionStatus(srvId, btId, compBuilds, teamcity, ghConn, prId));
         }
 
         return statuses;
@@ -658,9 +657,10 @@ public class TcBotTriggerAndSignOffService {
      * @param srvId Server id.
      * @param suiteId Suite id.
      * @param builds Build references.
+     * @param ghConn
      */
     public ContributionCheckStatus contributionStatus(String srvId, String suiteId, List<BuildRefCompacted> builds,
-        ITeamcityIgnited teamcity, String prId) {
+        ITeamcityIgnited teamcity, IGitHubConnIgnited ghConn, String prId) {
         ContributionCheckStatus status = new ContributionCheckStatus();
 
         status.suiteId = suiteId;
@@ -683,7 +683,7 @@ public class TcBotTriggerAndSignOffService {
             status.resolvedBranch = status.branchWithFinishedSuite;
             //todo take into account running/queued
         else
-            status.resolvedBranch = !builds.isEmpty() ? builds.get(0).branchName(compactor) : branchForTcDefault(prId, teamcity);
+            status.resolvedBranch = !builds.isEmpty() ? builds.get(0).branchName(compactor) : branchForTcDefault(prId, ghConn);
 
         String observationsStatus = buildObserverProvider.get().getObservationStatus(new ContributionKey(srvId, status.resolvedBranch));
 
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnited.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnited.java
index df2099a..2c9297e 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnited.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnited.java
@@ -189,8 +189,6 @@ public interface ITeamcityIgnited {
 
     public List<String> getAllProjectsIds();
 
-    public String gitBranchPrefix();
-
 
     /**
      * Get list of teamcity agents. Never cached, request goes directly to pure TC.
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 79aae65..b38350e 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
@@ -419,11 +419,6 @@ public class TeamcityIgnitedImpl implements ITeamcityIgnited {
         return conn.getProjects().stream().map(Project::id).collect(Collectors.toList());
     }
 
-    /** {@inheritDoc} */
-    @Override public String gitBranchPrefix() {
-        return conn.gitBranchPrefix();
-    }
-
     @Override
     public List<Agent> agents(boolean connected, boolean authorized) {
         return conn.agents(connected, authorized);
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/ITeamcityConn.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/ITeamcityConn.java
index 5af968f..d0e38dd 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/ITeamcityConn.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/ITeamcityConn.java
@@ -52,8 +52,15 @@ public interface ITeamcityConn {
      */
     public String host();
 
+    /**
+     * @param buildId Build id.
+     */
     public Build getBuild(int buildId);
 
+    /**
+     * @param fullUrl Full url.
+     * @param nextPage Next page.
+     */
     public List<BuildRef> getBuildRefsPage(String fullUrl, AtomicReference<String> nextPage);
 
     /**
@@ -82,13 +89,25 @@ public interface ITeamcityConn {
      */
     public Build triggerBuild(String buildTypeId, @Nonnull String branchName, boolean cleanRebuild, boolean queueAtTop);
 
-    ProblemOccurrences getProblems(int buildId);
+    /**
+     * @param buildId Build id.
+     */
+    public ProblemOccurrences getProblems(int buildId);
 
-    Statistics getStatistics(int buildId);
+    /**
+     * @param buildId Build id.
+     */
+    public Statistics getStatistics(int buildId);
 
-    ChangesList getChangesList(int buildId);
+    /**
+     * @param buildId Build id.
+     */
+    public ChangesList getChangesList(int buildId);
 
-    Change getChange(int changeId);
+    /**
+     * @param changeId Change id.
+     */
+    public Change getChange(int changeId);
 
     /**
      * List of project suites.
@@ -96,23 +115,18 @@ public interface ITeamcityConn {
      * @param projectId Project id.
      * @return List of buildType's references.
      */
-    List<BuildType> getBuildTypes(String projectId);
+    public List<BuildType> getBuildTypes(String projectId);
 
     /**
      * @param buildTypeId BuildType id.
      * @return BuildType.
      */
-    BuildTypeFull getBuildType(String buildTypeId);
+    public BuildTypeFull getBuildType(String buildTypeId);
 
     /**
      * @return List of all project available at Teamcity server.
      */
-    List<Project> getProjects();
-
-    /**
-     * @return Branch name mandatory prefix for all PR-less contributions, e.g. "ignite-".
-     */
-    public String gitBranchPrefix();
+    public List<Project> getProjects();
 
     /**
      * Get list of teamcity agents.
@@ -121,5 +135,5 @@ public interface ITeamcityConn {
      * @param authorized Authorized flag.
      * @return List of teamcity agents.
      */
-    List<Agent> agents(boolean connected, boolean authorized);
+    public List<Agent> agents(boolean connected, boolean authorized);
 }
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
index 8c12e42..ed4e806 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
@@ -145,7 +145,7 @@ public class ChainAtServerCurrentStatus {
             }
         }
         else
-            ticketFullName = TcBotTriggerAndSignOffService.prLessTicket(branchName, ticketPrefix, tcIgnited);
+            ticketFullName = TcBotTriggerAndSignOffService.prLessTicket(branchName, ticketPrefix, gitHubConnIgnited);
 
         if (!Strings.isNullOrEmpty(ticketFullName))
             ticketUrl = jiraIntegration.generateTicketUrl(ticketFullName);
diff --git a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedMock.java b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedMock.java
index b5b1ace..159f336 100644
--- a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedMock.java
+++ b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedMock.java
@@ -116,7 +116,7 @@ public class TeamcityIgnitedMock {
                     return runHistCompacted;
                 });
 
-        when(tcIgnited.gitBranchPrefix()).thenReturn("ignite-");
+        // when(tcIgnited.gitBranchPrefix()).thenReturn("ignite-");
 
         return tcIgnited;
     }